<?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>KodeGeek &#187; oracle</title>
	<atom:link href="http://kodegeek.com/blog/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://kodegeek.com/blog</link>
	<description>Programación, fitness, interés geek</description>
	<lastBuildDate>Sun, 05 Feb 2012 19:12:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Book reviews: JavaFX 1.2 Application Development Cookbook</title>
		<link>http://kodegeek.com/blog/2010/11/17/book-reviews-javafx-1-2-application-development-cookbook/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-reviews-javafx-1-2-application-development-cookbook</link>
		<comments>http://kodegeek.com/blog/2010/11/17/book-reviews-javafx-1-2-application-development-cookbook/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 12:10:42 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[apache pivot]]></category>
		<category><![CDATA[javafx 2.0]]></category>
		<category><![CDATA[visage]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2650</guid>
		<description><![CDATA[JavaFX 1.2 Application Development Cookbook is a really nice book; The cookbook title is a little bit misleading as the book is a quick progression over the features of the language and how it can be used to write applications, all done in a very professional y concise manner. Then why it is difficult to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.packtpub.com/javafx-1-2-application-development-cookbook/book">JavaFX 1.2 Application Development Cookbook</a> is a really nice book; The cookbook title is a little bit misleading as the book is a quick progression over the features of the language and how it can be used to write applications, all done in a very professional y concise manner.</p>
<p>Then why it is difficult to wrote about this book? Well, the first issue is than the latest API (with significant changes) for JavaFX is 1.3 while the book is written for 1.2; There are several performance and stability improvements, new graphic controls so this was definitely an mandatory upgrade for anyone thinking seriously into using the language. But the real deal breaker here is than <a href="http://weblogs.java.net/blog/fabriziogiudici/archive/2010/09/27/javafx-script-dead-long-live-visage">JavaFX script is being discontinued and instead is being made a proper Java API that can be used by your regular Java developers</a>.</p>
<p>All this will happen on the &#8216;JavaFX 2.0&#8242; version of the language, sometime next year. Also JavaFX script is not really dead &#8230; is reincarnated as an open source platform called <a href="http://learnjavafx.typepad.com/weblog/2010/10/expressionism-and-the-art-of-creating-user-interfaces.html">Visage</a>.</p>
<p>So if I were you I would wait to see how JavaFX 2.0 looks like instead, no investment in books or coding for the time being. As for Visage, I would rather go for a head to head comparison with other tools like <a href="http://pivot.apache.org/">Apache Pivot</a> which is more mature at this point.</p>
<p><strong>The good:</strong> The book is a good one, easy to read and with good concrete examples. The price tag is also good.</p>
<p><strong>The bad:</strong> Not a problem with the book itself, but the technology is changing to fast and too much, so it doesn&#8217;t make sense to invest on this book. Wait until Oracle delivers JavaFX 2.0.</p>
<p><strong>The ugly:</strong> Oracle should have pull the plug sooner. JavaFX has lost a lot of momentum and makes you wonder if now it&#8217;s real purpose will be to replace an aging Swing on the desktop. </p>
<p><a href="http://www.oracle.com/us/corporate/press/173728">There are great things scheduled for JavaFX</a>, but we will have to wait some more to see them. Perhaps a new version of this book will be more than welcome once the new version is out.</p>
<p>&#8211;Jose</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/11/17/book-reviews-javafx-1-2-application-development-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And the winner of the JavaFXpert RIA Exemplar Challenge</title>
		<link>http://kodegeek.com/blog/2010/09/20/and-the-winner-of-the-javafxpert-ria-exemplar-challenge/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=and-the-winner-of-the-javafxpert-ria-exemplar-challenge</link>
		<comments>http://kodegeek.com/blog/2010/09/20/and-the-winner-of-the-javafxpert-ria-exemplar-challenge/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 00:44:54 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[kodegeek]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[ria exemplar challenge]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2601</guid>
		<description><![CDATA[La aplicación es una belleza, además de que el código y el problema que resuelve son interesantes. Si agregar más nada And the winner [of the JavaFXpert RIA Exemplar Challenge] ¡Ah, y tiene código abierto!]]></description>
			<content:encoded><![CDATA[<p>La aplicación es una belleza, además de que el código y el problema que resuelve son interesantes. Si agregar más nada<br />
<a href="http://learnjavafx.typepad.com/weblog/2010/09/and-the-winner-to-the-javafxpert-ria-exemplar-challenge-is.html">And the winner [of the JavaFXpert RIA Exemplar Challenge]</a></p>
<p>¡Ah, y tiene código abierto!</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/09/20/and-the-winner-of-the-javafxpert-ria-exemplar-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opciones útiles de la máquina virtual de Java</title>
		<link>http://kodegeek.com/blog/2010/09/15/opciones-utiles-de-la-maquina-virtual-de-java/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opciones-utiles-de-la-maquina-virtual-de-java</link>
		<comments>http://kodegeek.com/blog/2010/09/15/opciones-utiles-de-la-maquina-virtual-de-java/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 00:25:59 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[kodegeek]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[hotspot]]></category>
		<category><![CDATA[jvm]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2582</guid>
		<description><![CDATA[Bueno, está página es super conocida para quienes usan la máquina virtual de Java por parte de Oracle. Yo en particular corro procesos los cuales pasan largo tiempo haciendo cosas durante el día. Una de las cosas que quiero que hagan es que si se mueren me digan porqué. En especial uno de los errores [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, <a href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html">está página</a> es super conocida para quienes usan la máquina virtual de Java por parte de Oracle. </p>
<p>Yo en particular corro procesos los cuales pasan largo tiempo haciendo cosas durante el día. Una de las cosas que quiero que hagan es que si se mueren me digan porqué. En especial uno de los errores más difíciles de capturar son los de &#8220;OutOfMemory&#8221; (quedarse sin memoria) ya que en muchos casos la aplicación queda en un estado inconsistente; La recomendación dice que si se queda sin memoria es mejor matar a la aplicación, aunque muchas veces es imposible cambiar el código para hacerlo de manera limpia, por lo que este truco seguro le vendrá a la mano.</p>
<p>Pero primero, nuestro programa el cual se va a quedar sin memoria:</p>

<div class="wp_codebox"><table><tr id="p25824"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p2582code4"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.kodegeek.blog</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> RunOutOfMemory <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><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> <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: #000066; font-weight: bold;">long</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> array <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">long</span><span style="color: #009900;">&#91;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainteger+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Integer</span></a>.<span style="color: #006633;">MAX_VALUE</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mi arreglo tiene un tamaño de: &quot;</span> <span style="color: #339933;">+</span> array.<span style="color: #006633;">length</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></td></tr></table></div>

<p>El programa es un poco artificial, en especial si podemos pedir suficiente memoria con parámetros como &#8216;-XmsXXXXm -XmxXXXXm&#8217;, pero ilustra un caso en que no podemos reservar suficiente memoria:</p>

<div class="wp_codebox"><table><tr id="p25825"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p2582code5"><pre class="bash" style="font-family:monospace;">auyan:~ josevnz$ java <span style="color: #660033;">-classpath</span> . com.kodegeek.blog.RunOutOfMemory
Exception <span style="color: #000000; font-weight: bold;">in</span> thread <span style="color: #ff0000;">&quot;main&quot;</span> java.lang.OutOfMemoryError: Requested array <span style="color: #c20cb9; font-weight: bold;">size</span> exceeds VM limit
	at com.kodegeek.blog.RunOutOfMemory.main<span style="color: #7a0874; font-weight: bold;">&#40;</span>RunOutOfMemory.java:<span style="color: #000000;">7</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
auyan:~ josevnz$ <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$?</span>
<span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Mi programa se quedó sin memoria en <span style="color: #007800;">$HOSTNAME</span>&quot;</span><span style="color: #000000; font-weight: bold;">|</span>mail kodegeek<span style="color: #000000; font-weight: bold;">@</span>kodegeek.com
<span style="color: #000000; font-weight: bold;">fi</span>
auyan:~ josevnz$</pre></td></tr></table></div>

<p>Un poco complicado, además de que si el programa se queda guindado (es decir la máquina virtual nunca termina) entonces nunca sabremos que fué lo que paso <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>¿Y como nos enteramos de que murió, por ejemplo recibiendo un correo electrónico? Bueno, es sólo cuestión de agregar unos cuantos parámetros:</p>

<div class="wp_codebox"><table><tr id="p25826"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p2582code6"><pre class="java" style="font-family:monospace;">auyan<span style="color: #339933;">:</span>~ josevnz$ java <span style="color: #339933;">-</span>classpath . <span style="color: #339933;">-</span>XX<span style="color: #339933;">:</span>OnOutOfMemoryError<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;echo 'Me quede sin memoria en $HOSTNAME'|mail jose.nunez@gmail.com; kill -9 %p&quot;</span> com.<span style="color: #006633;">kodegeek</span>.<span style="color: #006633;">blog</span>.<span style="color: #006633;">RunOutOfMemory</span>
#
# java.<span style="color: #006633;">lang</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aoutofmemoryerror+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">OutOfMemoryError</span></a><span style="color: #339933;">:</span> Requested array size exceeds VM limit
# <span style="color: #339933;">-</span>XX<span style="color: #339933;">:</span>OnOutOfMemoryError<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;echo 'Me quede sin memoria en auyan.local'|mail kodegeek@kodegeek.com; kill -9 %p&quot;</span>
#   Executing <span style="color: #0000ff;">&quot;echo 'Me quede sin memoria en auyan.local'|mail jose.nunez@gmail.com&quot;</span>...
#   Executing <span style="color: #0000ff;">&quot;kill -9 254&quot;</span>...
<span style="color: #006633;">Killed</span>
auyan<span style="color: #339933;">:</span>~ josevnz$ echo $<span style="color: #339933;">?</span>
<span style="color: #cc66cc;">137</span></pre></td></tr></table></div>

<p>Hay muchos recipes en Internet, pero este es uno de mis favoritos <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/09/15/opciones-utiles-de-la-maquina-virtual-de-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Más fotos del Java Road Trip</title>
		<link>http://kodegeek.com/blog/2010/08/26/mas-fotos-del-java-road-trip/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mas-fotos-del-java-road-trip</link>
		<comments>http://kodegeek.com/blog/2010/08/26/mas-fotos-del-java-road-trip/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:21:50 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[java road trip 2010]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2526</guid>
		<description><![CDATA[Bueno, Oracle publicó más fotos del Java road trip en Flickr, del cual les habia hablado ya dos meses atrás en New York. Como pueden ver por cada conjunto, el &#8220;Java bus&#8221; se ha movido por varias ciudades, incluso tienen un avión No sé, pero yo no he visto el primer RubyBus o C#Bus (Esta [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, Oracle publicó <a href="http://www.flickr.com/photos/javaroadtrip/sets/">más fotos del Java road trip en Flickr</a>, del cual <a href="http://kodegeek.com/blog/2010/06/15/java-road-trip-stop-en-la-ciudad-de-nueva-york/">les habia hablado</a> ya dos meses atrás <a href="http://www.flickr.com/photos/javaroadtrip/4711539243/in/set-72157624178255287/">en New York</a>. Como pueden ver por cada conjunto, el &#8220;Java bus&#8221; se ha movido por varias ciudades, incluso tienen un avión <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>No sé, pero yo no he visto el primer RubyBus o C#Bus (Esta bien, está bien sólo estoy bromeando aquí <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/08/26/mas-fotos-del-java-road-trip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trucos unix: Herramientas de Java poco conocidas</title>
		<link>http://kodegeek.com/blog/2010/08/05/trucos-unix-herramientas-de-java-poco-conocidas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trucos-unix-herramientas-de-java-poco-conocidas</link>
		<comments>http://kodegeek.com/blog/2010/08/05/trucos-unix-herramientas-de-java-poco-conocidas/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 09:54:44 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[jheap]]></category>
		<category><![CDATA[jps]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2458</guid>
		<description><![CDATA[No puedo creer que estas las utilizo a diario y nunca las habia mencionado en el blog; En fin, el kit de desarrollador de Oracle (JDK) cuenta con unas cuentas joyas que usted puede llamar de la línea de comandos. Por ejemplo, para ver la lista de procesos de Java, en vez de hacer esto: [...]]]></description>
			<content:encoded><![CDATA[<p>No puedo creer que estas las utilizo a diario y nunca las habia mencionado en el blog; En fin, el kit de desarrollador de Oracle (JDK) cuenta con unas cuentas joyas que usted puede llamar de la línea de comandos.</p>
<p>Por ejemplo, para ver la lista de procesos de Java, en vez de hacer esto:</p>

<div class="wp_codebox"><table><tr id="p24589"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p2458code9"><pre class="java" style="font-family:monospace;">auyan<span style="color: #339933;">:</span>~ josevnz$ ps aux<span style="color: #339933;">|</span>grep <span style="color: #339933;">-</span>i java<span style="color: #339933;">|</span>grep <span style="color: #339933;">-</span>v grep
josevnz    <span style="color: #cc66cc;">176</span>   <span style="color: #cc66cc;">0.0</span>  <span style="color: #cc66cc;">1.5</span>   <span style="color: #cc66cc;">717716</span>  <span style="color: #cc66cc;">62436</span>   <span style="color: #339933;">??</span>  S     <span style="color: #cc66cc;">5</span><span style="color: #339933;">:</span>49AM   <span style="color: #cc66cc;">0</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">02.52</span> <span style="color: #339933;">/</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a><span style="color: #339933;">/</span>Library<span style="color: #339933;">/</span>Frameworks<span style="color: #339933;">/</span>JavaVM.<span style="color: #006633;">framework</span><span style="color: #339933;">/</span>Versions<span style="color: #339933;">/</span>1.5.0<span style="color: #339933;">/</span>Home<span style="color: #339933;">/</span>bin<span style="color: #339933;">/</span>java <span style="color: #339933;">-</span>Djava.<span style="color: #006633;">library</span>.<span style="color: #006633;">path</span><span style="color: #339933;">=/</span>Library<span style="color: #339933;">/</span>Frameworks<span style="color: #339933;">/</span>JavaFX.<span style="color: #006633;">framework</span><span style="color: #339933;">/</span>Versions<span style="color: #339933;">/</span><span style="color: #cc66cc;">1.2</span><span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>desktop <span style="color: #339933;">-</span>Dfile.<span style="color: #006633;">encoding</span><span style="color: #339933;">=</span>MacRoman <span style="color: #339933;">-</span>classpath <span style="color: #339933;">/</span>Library<span style="color: #339933;">/</span>Frameworks<span style="color: #339933;">/</span>JavaFX.<span style="color: #006633;">framework</span><span style="color: #339933;">/</span>Versions<span style="color: #339933;">/</span><span style="color: #cc66cc;">1.2</span><span style="color: #339933;">/</span>lib<span style="color: #339933;">/</span>shared<span style="color: #339933;">/</span>javafxrt.<span style="color: #006633;">jar</span><span style="color: #339933;">:/</span>Users<span style="color: #339933;">/</span>josevnz<span style="color: #339933;">/</span>Documents<span style="color: #339933;">/</span>workspace<span style="color: #339933;">/</span>mytests<span style="color: #339933;">/</span>dist<span style="color: #339933;">/</span>Main.<span style="color: #006633;">jar</span> com.<span style="color: #006633;">sun</span>.<span style="color: #006633;">javafx</span>.<span style="color: #006633;">runtime</span>.<span style="color: #006633;">main</span>.<span style="color: #006633;">Main</span> MainJavaFXScript<span style="color: #339933;">=</span>com.<span style="color: #006633;">kodegeek</span>.<span style="color: #006633;">blog</span>.<span style="color: #006633;">totalbodyweight</span>.<span style="color: #006633;">app</span>.<span style="color: #006633;">Main</span></pre></td></tr></table></div>

<p>Utilice a jps:</p>

<div class="wp_codebox"><table><tr id="p245810"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p2458code10"><pre class="java" style="font-family:monospace;">auyan<span style="color: #339933;">:</span>~ josevnz$ jps <span style="color: #339933;">-</span>lm<span style="color: #339933;">|</span>grep <span style="color: #339933;">-</span>v <span style="color: #0000ff;">'sun.tools'</span>
<span style="color: #cc66cc;">112</span> 
<span style="color: #cc66cc;">176</span> com.<span style="color: #006633;">sun</span>.<span style="color: #006633;">javafx</span>.<span style="color: #006633;">runtime</span>.<span style="color: #006633;">main</span>.<span style="color: #006633;">Main</span> MainJavaFXScript<span style="color: #339933;">=</span>com.<span style="color: #006633;">kodegeek</span>.<span style="color: #006633;">blog</span>.<span style="color: #006633;">totalbodyweight</span>.<span style="color: #006633;">app</span>.<span style="color: #006633;">Main</span>
<span style="color: #cc66cc;">148</span></pre></td></tr></table></div>

<p>Ambas muestran que el PID de mi programa es el 176, pero ¿cual es más fácil?</p>
<p>¡Amor a primera vista! <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hay muchas otras, pero <a href="http://www.ibm.com/developerworks/java/library/j-java6perfmon/">les dejo con este articulo</a> de IBM el cual hace un mejor trabajo describiendo las herramientas.</p>
<p>&#8211;José</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/08/05/trucos-unix-herramientas-de-java-poco-conocidas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans 6.9 ya está afuera, JUnit no incluido en JavaFX</title>
		<link>http://kodegeek.com/blog/2010/06/18/netbeans-6-9-ya-esta-afuera-junit-no-incluido-en-javafx/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=netbeans-6-9-ya-esta-afuera-junit-no-incluido-en-javafx</link>
		<comments>http://kodegeek.com/blog/2010/06/18/netbeans-6-9-ya-esta-afuera-junit-no-incluido-en-javafx/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 09:32:18 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[netbeans 6.9]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2414</guid>
		<description><![CDATA[Para quienes han seguido el asunto de NetBeans (el cual ya salió en su versión final 6.9) y la cucaracha de JUnit, este es el resultado: JUnit no es soportado en proyectos de JavaFX. Uno de los desarrolladores de NetBeans me mostró en el reporte de la cucaracha en donde está desactivado. ¿Entonces, cual es [...]]]></description>
			<content:encoded><![CDATA[<p>Para quienes <a href="http://kodegeek.com/blog/2010/06/13/netbeans-6-9-junit-aun-esta-roto/">han seguido</a> el asunto de NetBeans (el cual ya salió en su versión final 6.9) y la cucaracha de JUnit, este es el resultado: <a href="http://netbeans.org/bugzilla/show_bug.cgi?id=187528">JUnit no es soportado en proyectos de JavaFX</a>.</p>
<p>Uno de los desarrolladores de NetBeans me mostró <a href="http://hg.netbeans.org/javafx/rev/504d0a273c83">en el reporte de la cucaracha</a> en donde está desactivado.</p>
<p>¿Entonces, cual es la solución? Bueno, algo inconveniente pero que funciona, simplemente cree un proyecto de Java (no JavaFX) y entonces desde allí incluya sus pruebas de unidad.</p>
<p>Pero como una foto dice más que mil palabras les dejo el ejemplo abajo, creado con uno de los &#8216;magos de código&#8217; (wizzards) de NetBeans:</p>
<p><a href="http://kodegeek.com/blog/wp-content/uploads/2010/06/Picture-11.png"><img src="http://kodegeek.com/blog/wp-content/uploads/2010/06/Picture-11-300x219.png" alt="" title="Java, JavaFX y JUnit: Juntos pero no revueltos" width="300" height="219" class="alignnone size-medium wp-image-2418" /><br />
¡Misterio resuelto!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/06/18/netbeans-6-9-ya-esta-afuera-junit-no-incluido-en-javafx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Road Trip Stop en la ciudad de Nueva York</title>
		<link>http://kodegeek.com/blog/2010/06/15/java-road-trip-stop-en-la-ciudad-de-nueva-york/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-road-trip-stop-en-la-ciudad-de-nueva-york</link>
		<comments>http://kodegeek.com/blog/2010/06/15/java-road-trip-stop-en-la-ciudad-de-nueva-york/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 10:00:35 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[java road trip stop]]></category>
		<category><![CDATA[new york city]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2394</guid>
		<description><![CDATA[Me gané una franela y un libro (Real-Time Java Programming , de eric J. Bruno. Muy contento) Bueno, hoy comenzó oficialmente el Java Road Trip Stop en la ciudad de Nueva York. Este evento, el cual contó con la participación de New York City Java Meetup Group, es una iniciativa de Oracle para demostrar los [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/josevnz/4702297163/" title="My cool T-Shirt! by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4044/4702297163_43a5944328.jpg" width="500" height="333" alt="My cool T-Shirt!" /><br />
Me gané una franela y un libro (Real-Time Java Programming , de eric J. Bruno. Muy contento)</a></p>
<p>Bueno, hoy comenzó oficialmente el <a href="http://www.java.com/roadtrip/bus.html">Java Road Trip Stop</a> en la ciudad de Nueva York. Este evento, el cual contó con la participación de <a href="http://www.developerfusion.com/usergroup/13163/the-new-york-city-java-meetup-group/">New York City Java Meetup Group</a>, es una iniciativa de Oracle para demostrar los últimos avances de Java en dispositivos como el <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C">Amazon Kindle</a>, JavaFX en la televisión y entre otras cosas.</p>
<p><a href="http://www.flickr.com/photos/josevnz/4702299811/" title="What is the Java Bus? by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4017/4702299811_4a093131b2.jpg" width="500" height="333" alt="What is the Java Bus?" /><br />
Oracle se acuerda de los desarrolladores de Sun, muestra su fe en Java</a></p>
<p>¿Pero, de verdad hubo algo bueno o fué sólo propaganda de <a href="http://oracle.com">Oracle</a>, con los respectivos tragos gratis?</p>
<p>Nada que ver. La charla tuvo mucha substancia, y lo mejor fué lo que cada uno de sus expositores tuvo que ofrecer.</p>
<p><a href="http://www.flickr.com/photos/josevnz/4702932166/" title="Timothy F in Java best practices by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4061/4702932166_0f05c236ea.jpg" width="500" height="333" alt="Timothy F in Java best practices" /><br />
Timothy explicó lo que no se debe hacer en su charla de las mejores prácticas</a></p>
<p><a href="http://www.meetup.com/nycjava/members/7756111/">Timothy F</a> se encargó de romper el hielo con una presentación de las mejores prácticas (III), en este caso el manejo de código duplicado. Su explicación práctica de como utilizar patrones de diseño como Strategy, Visitor e incluso factory fué muy valiosa, definitivamente pienso utilizar esos tips en mi código de ahora en adelante.</p>
<p><a href="http://www.flickr.com/photos/josevnz/4702299523/" title="Brian Goetz, Java concurrency in practice by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4061/4702299523_5729a1b32e.jpg" width="500" height="333" alt="Brian Goetz, Java concurrency in practice" /><br />
Brian nos explicó cosas como el proyecto Da Vinci, Coin y otros en el nuevo JDK 7</a></p>
<p>Después le toco el turno a <a href="http://www.briangoetz.com/">Brian Goetz</a> (el autor de &#8216;<a href="http://www.javaconcurrencyinpractice.com/">Java Concurrency in Practice&#8217;</a>) al bate. Brian explicó con mucha emoción y detalles los aspectos técnicos del nuevo JDK 7, las diferencias con el Java SE 7 (no es lo mismo, el JDK es una referencia de implementación) y de las cosas buenas, en especial de productividad, concurrencia, soporte de otros lenguajes como JRuby, Scala y maquillaje del lenguaje que vienen pronto (nos adelanta que un anunció importante viene en <a href="http://www.oracle.com/us/javaonedevelop/index.html">JavaOne</a> de este año).</p>
<p><a href="http://www.flickr.com/photos/josevnz/4702298341/" title="Me posing for the camera (II) by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4065/4702298341_dfd70bff85.jpg" width="333" height="500" alt="Me posing for the camera (II)" /><br />
El Java Road Trip continua este Miércoles y luego se moverá a otras ciudades en los Estados Unidos</a></p>
<p>La organización del evento estuvo impecable, pudimos ver el &#8220;Java Bus&#8221; (tiene tecnología Java, y una pantalla de datos la cual usa <a href="http://javafx.com">JavaFX</a>), regalaron libros a los asistentes (me gané uno por preguntón <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) pero sobre todo el nivel de asistencia de los asistentes fué alto, todo en un ambiente relajado. Tampoco me puedo quejar de la oportunidad de hacer contactos con otros programadores de distintas areas de la industria.</p>
<p><a href="http://www.flickr.com/photos/josevnz/4702934348/" title="IMG_8640.JPG by josevnz, on Flickr"><img src="http://farm5.static.flickr.com/4048/4702934348_f5c405dab2.jpg" width="500" height="333" alt="IMG_8640.JPG" /><br />
Java Meetup, muy buena experiencia, seguro me verán escribiendo más sobre este evento que ocurre al menos una vez al mes en NYC</a></p>
<p>¿Volveré a ir a un Java Meetup? Claro que sí. De verdad vale la pena y si usted vive cerca de Nueva York y le gusta Java entonces no debería perdérselo. En cuanto al Java Road Trip le recomiendo <a href="http://www.java.com/roadtrip/">que vaya al sitio web y los siga</a> desde Twitter, Facebook y otros.</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/06/15/java-road-trip-stop-en-la-ciudad-de-nueva-york/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aventuras con JavaFX 1.3 y NetBean 6.9</title>
		<link>http://kodegeek.com/blog/2010/05/01/aventuras-con-javafx-1-3-y-netbean-6-9/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aventuras-con-javafx-1-3-y-netbean-6-9</link>
		<comments>http://kodegeek.com/blog/2010/05/01/aventuras-con-javafx-1-3-y-netbean-6-9/#comments</comments>
		<pubDate>Sun, 02 May 2010 04:29:41 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[kodegeek]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2293</guid>
		<description><![CDATA[Bueno, después de una larga espera Oracle nos trae JavaFX 1.3. El entorno de ejecución promete muchas mejoras, lo único es que el entorno de desarrollo es NetBeans 6.9 BETA. Si, beta. Tiene una lista de problemas (entre esos la depuración de programas). Sin embargo, si escribo mis &#8216;unit tests&#8217; debería estar más o menos [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, después de una larga espera Oracle nos trae JavaFX 1.3. El entorno de ejecución promete muchas mejoras, lo único es que el entorno de desarrollo es NetBeans 6.9 BETA.</p>
<p>Si, beta. <a href="http://java.sun.com/javafx/1/reference/releasenotes/javafx-netbeans-release-notes-1-3.html">Tiene una lista de problemas </a>(entre esos la depuración de programas). Sin embargo, si escribo mis &#8216;unit tests&#8217; debería estar más o menos bien, ¿no es así?</p>
<p>Lo primero que intenté hacer es convertir el método &#8216;main&#8217; de una de mis clases en Java (no JavaFX) a Junit:</p>

<div class="wp_codebox"><table><tr id="p229312"><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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
</pre></td><td class="code" id="p2293code12"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
 * Helper class used to parse and process CVS data comming from an InputStream
 * License: GPL
 * @author josevnz at kodegeek dot com
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.kodegeek.blog.javafx.workout.app</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.File</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileInputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.SimpleDateFormat</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Date</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.List</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.regex.Pattern</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 *
 * @author josevnz
 */</span>
<span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CsvDataParser <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Alist+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">List</span></a> <span style="color: #339933;">&lt;</span>list <span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;&gt;</span>data<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> Pattern splitPattern <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;,<span style="color: #000099; font-weight: bold;">\\</span>s*&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asimpledateformat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">SimpleDateFormat</span></a> format<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> Pattern skipNonNumberPatter <span style="color: #339933;">=</span> Pattern.<span style="color: #006633;">compile</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;^<span style="color: #000099; font-weight: bold;">\\</span>D+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * Expected default number of data observations
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> DEFAULT_DAY_COUNT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">365</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * Expected default number of series to display on the same chart
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> DEFAULT_SERIES <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**
     * Constructor
     * @param numSeries expected number of series on the stream
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> CsvDataParser<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> numSeries<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">/*
         * Ddata is a list of lists where:
         * data(0): List of dates
         * data(n): Values of each series.
         * data is a rectangular array, every value matches a date
         */</span>
        data <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;/</span>list<span style="color: #339933;">&gt;&lt;</span>list <span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        List<span style="color: #339933;">&lt;</span>object<span style="color: #339933;">&gt;</span> dates <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;</span>object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        data.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, dates<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> numSeries<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            List<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> values <span style="color: #339933;">=</span>
                    <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;</span>object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            data.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>i, values<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        format <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asimpledateformat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">SimpleDateFormat</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MM/dd/yy&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**
     * Parse a given input stream for data. Not thread safe. It is assumed than
     * the number of tokens on the stream is constant and there
     * are no data holes. The caller is responsible from closing the stream
     * @param io The data source
     * @throws Exception If there is a problem reading the stream
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> parse<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStream</span></a> io<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> <span style="color: #009900;">&#123;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a> lineRdr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a><span style="color: #009900;">&#40;</span>io<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> line <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>line <span style="color: #339933;">=</span> lineRdr.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>skipNonNumberPatter.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">find</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000000; font-weight: bold;">continue</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> tokens <span style="color: #339933;">=</span> splitPattern.<span style="color: #006633;">split</span><span style="color: #009900;">&#40;</span>line, <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">int</span> numSeries <span style="color: #339933;">=</span> tokens.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>numSeries <span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">||</span> tokens<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>numSeries <span style="color: #339933;">!=</span> data.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> error <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>
                            <span style="color: #0000ff;">&quot;Number of expected tokens is %s, got %s&quot;</span>,
                            data.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,
                            numSeries<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a><span style="color: #009900;">&#40;</span>error<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">// Store dates as numbers, let the caller do any conversions</span>
                List<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;</span>object<span style="color: #339933;">&gt;</span> dates <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>List<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;</span>object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span> data.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                dates.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>format.<span style="color: #006633;">parse</span><span style="color: #009900;">&#40;</span>tokens<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">// Get the values for each series now (rest of the tokens)</span>
                <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> numSeries<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    List<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> values <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>List<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;</span>object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span> data.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    values.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afloat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Float</span></a>.<span style="color: #006633;">parseFloat</span><span style="color: #009900;">&#40;</span>tokens<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> exp<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> exp<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**
     * Get the collected data as a List of Lists. First element of the returned
     * list contains the dates as Epoch long dates, after that the series
     * @return Array of dates as epoch long
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Along+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Long</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> getDates<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;">return</span> data.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toArray</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Along+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Long</span></a><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**
     * Get the values as a list of
     * @param index Valid ranges go from 1 to n
     * @return Array of float series values
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afloat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Float</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> getSeriesValues<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> index<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">||</span> index <span style="color: #339933;">&gt;</span> data.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aillegalargumentexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IllegalArgumentException</span></a><span style="color: #009900;">&#40;</span>
                    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Invalid series index %d&quot;</span>, index<span style="color: #009900;">&#41;</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;">return</span> data.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toArray</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afloat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Float</span></a><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**
     * Unit test, show how the parser works on a CSV file. THIS SHOULD BE A
     * JUNIT TEST INSTEAD!!!
     * Program expects the property.
     * @param args List of files to parse. Each one like: numTokens:fullpathFile
     * @throws Exception If there are any problems
     */</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: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> tokens<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> token<span style="color: #339933;">:</span> tokens<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> parts <span style="color: #339933;">=</span> token.<span style="color: #006633;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;:&quot;</span>, <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStream</span></a> in <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">int</span> nTokens <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainteger+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Integer</span></a>.<span style="color: #006633;">parseInt</span><span style="color: #009900;">&#40;</span>parts<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a> f <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a><span style="color: #009900;">&#40;</span>parts<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>f.<span style="color: #006633;">canRead</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> f.<span style="color: #006633;">isFile</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afileinputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileInputStream</span></a><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    CsvDataParser instance <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CsvDataParser<span style="color: #009900;">&#40;</span>nTokens<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    instance.<span style="color: #006633;">parse</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Along+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Long</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> dates <span style="color: #339933;">=</span> instance.<span style="color: #006633;">getDates</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afloat+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Float</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> values <span style="color: #339933;">=</span> instance.<span style="color: #006633;">getSeriesValues</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> dates.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>
                                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%s -&gt; %s&quot;</span>,
                                <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adate+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Date</span></a><span style="color: #009900;">&#40;</span>dates<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>, values<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumberformatexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">NumberFormatException</span></a> nfe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>
                        <span style="color: #0000ff;">&quot;Invalid expected token value: '%s'&quot;</span>, parts<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</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;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> exp<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">throw</span> exp<span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>in <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    in.<span style="color: #006633;">close</span><span style="color: #009900;">&#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>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>object<span style="color: #339933;">&gt;&lt;/</span>list<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Sin embargo la interfaz gráfica me abofetea con este error: <a href="http://netbeans.org/bugzilla/show_bug.cgi?id=69390">No tests root folder was found</a></p>
<p>Que fastidio. No soy un experto en NetBeans (me defiendo mucho más con Eclipse), así que en vez de estar echando código ando resolviendo estos problemas. ¡Que perdida de tiempo!</p>
<p>Me pregunto <a href="http://forums.sun.com/thread.jspa?threadID=5363672">si Oracle piensa competir en serio con Adobe Flash</a> si su editor principal aún tiene este tipo de problemas.</p>
<p>Amanecerá y veremos, por los momentos ando tratando de resolver el asunto yo mismo, al mismo tiempo <a href="http://forums.sun.com/thread.jspa?messageID=10982361#10982361">pedí ayuda en los foros oficiales</a>. Una vez resuelto, podré correr Junit para JavaFX como lo <a href="http://www.adam-bien.com/roller/abien/entry/how_to_debug_unit_tests">indica este excelente blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/05/01/aventuras-con-javafx-1-3-y-netbean-6-9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¿Oracle destruyendo MysQL? No me veo firmando una petición para salvarlo&#8230;</title>
		<link>http://kodegeek.com/blog/2010/01/09/%c2%bforacle-destruyendo-mysql-no-me-veo-firmando-una-peticion-para-salvarlo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25c2%25bforacle-destruyendo-mysql-no-me-veo-firmando-una-peticion-para-salvarlo</link>
		<comments>http://kodegeek.com/blog/2010/01/09/%c2%bforacle-destruyendo-mysql-no-me-veo-firmando-una-peticion-para-salvarlo/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 09:30:51 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[mysql gpl oracle]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2176</guid>
		<description><![CDATA[¡Salven a MySQL de las garras de Oracle! Ese es el nuevo grito en Internet estos días, y viene del fundador de MySQL. Si leen la petición cuidadosamente, el argumenta que el uso de GPL no es suficiente. La intención es que Oracle le deje el desarrollo a una tercera compañía la cual va a [...]]]></description>
			<content:encoded><![CDATA[<p>¡<a href="http://www.helpmysql.org/en/theissue/gplisnottheanswer">Salven a MySQL de las garras de Oracle</a>! Ese es el nuevo grito en Internet estos días, y viene del fundador de MySQL.</p>
<p>Si leen la petición cuidadosamente, el argumenta que el uso de GPL no es suficiente. La intención es que Oracle le deje el desarrollo a una tercera compañía la cual va a seguir creciendo MySQL bajo GPL.</p>
<p>No entiendo el llanto, después que vendió MySQL a SUN, luego dejó a SUN para trabajar en <a href="http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL">MariaDB </a>(Fork).</p>
<p>¿A quien le importa si MySQL deja de existir? Hay otras alternativas, muy buenas como <a href="http://www.postgresql.org/">PostgreSQL</a>. Lo otro es que no creo que Oracle este interesado en destruirlo (aunque no creo que lo aumente o mejoren).</p>
<p>El software gratuito tiene este y otros dilemas. Un caso muy interesante es el de OpenNMS <a href="http://www.adventuresinoss.com/?p=1300">el cual pasó varios años peleando contra una compañía que tomó el producto</a>, hizo dinero con él y no liberó los cambios para el beneficio de todos.</p>
<p>Yo creo que un<a href="http://lwn.net/Articles/329626/"> fork de MySQL </a>puede <a href="http://planet.mysql.com/entry/?id=22820">sobrevivir y prosperar.</a> La licencia GPL protege el producto y hay muchas compañías interesadas en que MySQL viva.</p>
<p>Los dejo con la siguiente nota de LWN, a la final es la comunidad quien decide el éxito de una aplicación:</p>
<blockquote><p>Still, it is telling that so much of the work done by the forks centers around the InnoDB storage engine: the patches written by Percona and OurDelta, Percona&#8217;s replacement engine XtraDB, and MariaDB&#8217;s replacement engine Maria. InnoDB is GPLv2-licensed, but the copyright is owned by &#8230; Oracle. Oracle acquired InnoDB&#8217;s creator Innobase in 2005. That acquisition sparked a flurry of concern that the database giant would kill the product, take it proprietary, or somehow use it against MySQL — many of the same nightmare scenarios now speculated about the Sun purchase. It is worth noting that in the intervening years two things have occurred: Oracle has not killed or maimed InnoDB, and the open source community has preemptively created its own innovative solutions, thereby insulating open source users and customers from disaster should Oracle take a step in the wrong direction.</p>
<p>The real question is not which fork is the MySQL, but whether the multiple patch sets and forks indicate sickness or health for MySQL as a whole. Excluding Drizzle, all of the projects were started because someone who cared a great deal about the future of MySQL saw something wrong with MySQL&#8217;s development process (and for its part, Drizzle was spawned by even deeper dissatisfaction with the technical direction of MySQL). Surely that much concern on the part of the community signifies health. There is no telling which forks will prosper and which will fizzle out, but that depends to a large degree on Oracle, and how it governs the project in the future.</p></blockquote>
<p>¿Usted piensa firmar esta petición en línea?</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/01/09/%c2%bforacle-destruyendo-mysql-no-me-veo-firmando-una-peticion-para-salvarlo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle comprará a Sun Microsystems al final de este verano</title>
		<link>http://kodegeek.com/blog/2009/04/21/oracle-comprara-a-sun-microsystems-al-final-de-este-verano/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-comprara-a-sun-microsystems-al-final-de-este-verano</link>
		<comments>http://kodegeek.com/blog/2009/04/21/oracle-comprara-a-sun-microsystems-al-final-de-este-verano/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 09:29:53 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[acquisition]]></category>
		<category><![CDATA[ibm]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=1754</guid>
		<description><![CDATA[Todo el mundo tiene una opinión al respecto, así que no me puedo quedar atrás Si, Oracle comprará a Sun Microsystems al final de este verano ($9.50 por cada acción). Mientras tanto IBM busca un par de interiores limpios. De todos los competidores de IBM, Oracle es quizas el que mejor sale parado de todo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://java.dzone.com/articles/oracle-buys-sun-coverage">Todo el mundo tiene una opinión al respecto,</a> así que no me puedo quedar atrás <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Si, Oracle comprará a Sun Microsystems al final de este verano (<a href="http://www.bloomberg.com/apps/news?pid=newsarchive&amp;sid=avhOCWkD3oJw">$9.50 por cada acción</a>). Mientras tanto IBM busca un par de interiores limpios. De todos los competidores de IBM, Oracle es quizas el que mejor sale parado de todo este asunto, ya que a diferencia de IBM no hay tanto solapamiento (recuerden, Sun hacia dinero de su venta de Hardware y soluciones de almacenamiento no de Software como Java). Menos solapamiento implica menos despidos en el lado de Sun, además de que Oracle tiene una mejor historia en como ha conservado las compañías que ha adquirido a lo largo de los años (como BEA con Weblogic por dar un ejemplo).</p>
<p>Oracle <a href="http://www.oracle.com/sun/sun-faq.pdf">tiene una vision clara</a> sobre como va a integrarse con Sun (mejor dicho, como Sun va a adaptarse a su nuevo entorno). Yo en particular creo que algunos productos sufrirán (JavaFX), otros serán posicionados de manera distinta, pero no desaparecerán, debido a que Oracle ya tiene ofertas en esas áreas (MySQL vs Oracle DB, Netbeans vs JBuilder, GlassFish vs Weblogic), otras mejoraran substancialmente (Sun JDK vs JRockit). En la parte de sistemas operativos (Solaris), Hardware (Sparc) y almacenamiento (OpenStorage) Oracle gana presencia instantánea.</p>
<p>Por cierto, este año quizas sea el año en el que Oracle quizas le saque dinero y provecho a Java (algo que Sun no hizo de manera directa). También es cierto que Oracle tiene menos tradición en el mundo OpenSource que IBM, quien sabe como le sacarán provecho a Java (por otro lado una postura más rádical no va a ayudarlos en nada).</p>
<p>Tiempos interesantes, pero en general creo que son buenas noticias para Sun  y Oracle. No tan buenas para IBM la cual ahora tiene un competidor fortalecido tocándole en la puerta de varios negocios, no sólo el de las bases de datos.</p>
<p>Ya para terminar, ¿sabia usted que el rumor original sobre que compañia <a href="http://saviorodrigues.wordpress.com/2007/07/17/will-oracle-buy-red-hat-or-bea/">Oracle pensaba adquirir no era Sun sino RedHat</a> (busquen más en Google si no me cree)?<br />
Veneblogs: <a rel="tag" href="http://www.veneblogs.com/etiquetas/oracle">oracle</a>, <a rel="tag" href="http://www.veneblogs.com/etiquetas/sun">sun</a>, <a rel="tag" href="http://www.veneblogs.com/etiquetas/java">java</a>, <a rel="tag" href="http://www.veneblogs.com/etiquetas/mysql">mysql</a>, <a rel="tag" href="http://www.veneblogs.com/etiquetas/acquisition">acquisition</a></p>
<p>Blogalaxia: <a rel="tag" href="http://www.blogalaxia.com/tags/oracle">oracle</a>, <a rel="tag" href="http://www.blogalaxia.com/tags/sun">sun</a>, <a rel="tag" href="http://www.blogalaxia.com/tags/java">java</a>, <a rel="tag" href="http://www.blogalaxia.com/tags/mysql">mysql</a>, <a rel="tag" href="http://www.blogalaxia.com/tags/acquisition">acquisition</a></p>
<p>To2Blogs: <a rel="tag" href="http://www.to2blogs.com/tag/oracle">oracle</a>, <a rel="tag" href="http://www.to2blogs.com/tag/sun">sun</a>, <a rel="tag" href="http://www.to2blogs.com/tag/java">java</a>, <a rel="tag" href="http://www.to2blogs.com/tag/mysql">mysql</a>, <a rel="tag" href="http://www.to2blogs.com/tag/acquisition">acquisition</a></p>
<p>Technorati: <a rel="tag" href="http://technorati.com/tag/oracle">oracle</a>, <a rel="tag" href="http://technorati.com/tag/sun">sun</a>, <a rel="tag" href="http://technorati.com/tag/java">java</a>, <a rel="tag" href="http://technorati.com/tag/mysql">mysql</a>, <a rel="tag" href="http://technorati.com/tag/acquisition">acquisition</a></p>
<p>Del.icio.us: <a rel="tag" href="http://del.icio.us/tag/oracle">oracle</a>, <a rel="tag" href="http://del.icio.us/tag/sun">sun</a>, <a rel="tag" href="http://del.icio.us/tag/java">java</a>, <a rel="tag" href="http://del.icio.us/tag/mysql">mysql</a>, <a rel="tag" href="http://del.icio.us/tag/acquisition">acquisition</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2009/04/21/oracle-comprara-a-sun-microsystems-al-final-de-este-verano/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

