<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2662362781126941391</id><updated>2024-08-29T19:37:49.825+02:00</updated><category term="Java"/><category term="various"/><category term="NetBeans"/><category term="EJB3"/><category term="linux"/><category term="Glassfish"/><category term="JOGL"/><category term="JPA"/><category term="Tips"/><category term="VisualWebPack"/><category term="OpenGL"/><category term="JAXB"/><category term="JSF"/><category term="KML"/><category term="PostgreSQL"/><category term="books"/><category term="3D"/><category term="AWS"/><category term="C"/><category term="CFML"/><category term="Databases"/><category term="GTD"/><category term="IDL"/><category term="JAXP"/><category term="JNI"/><category term="Liferay"/><category term="Music"/><category term="TopLink"/><category term="UML"/><category term="Ubuntu"/><category term="XSD"/><category term="design patterns"/><title type='text'>A Curious Animal</title><subtitle type='html'>Bla, bla, bla, ... blog, blog, blog, ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-1972469800574849812</id><published>2009-04-09T20:05:00.001+02:00</published><updated>2009-04-09T20:06:44.815+02:00</updated><title type='text'>New domain !!!</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;I have changed to the new domain: &lt;a href=&quot;http://acuriousanimal.orggeo.net&quot;&gt;http://acuriousanimal.orggeo.net&lt;/a&gt;. I hope to have some time to move some post to the new site.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/1972469800574849812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/1972469800574849812' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/1972469800574849812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/1972469800574849812'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/04/new-domain.html' title='New domain !!!'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-7777372113402587342</id><published>2009-02-26T08:16:00.002+01:00</published><updated>2009-02-26T08:19:08.533+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Working with tiles</title><content type='html'>Today I found this very educative posts at &lt;a href=&quot;http://weblogs.java.net/blog/malenkov/&quot;&gt;Sergey Malenkov&#39;s Blog&lt;/a&gt;, and I would like to put a reference to them in my blog:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://weblogs.java.net/blog/malenkov/archive/2009/02/triangular_tile_1.html&quot;&gt;Triangular tile map&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://weblogs.java.net/blog/malenkov/archive/2009/02/square_tile_map_1.html&quot;&gt;Square tile map&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/7777372113402587342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/7777372113402587342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/7777372113402587342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/7777372113402587342'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/02/working-with-tiles.html' title='Working with tiles'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-4400601627024838862</id><published>2009-02-26T07:50:00.004+01:00</published><updated>2009-02-26T07:59:23.366+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="UML"/><title type='text'>Design Patterns Explained With Java and Uml2</title><content type='html'>&lt;a title=&quot;View Design Patterns Explained With Java and Uml2 2008 on Scribd&quot; href=&quot;http://www.scribd.com/doc/9973578/Design-Patterns-Explained-With-Java-and-Uml2-2008&quot; style=&quot;margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;&quot;&gt;Design Patterns Explained With Java and Uml2 2008&lt;/a&gt; &lt;object codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0&quot; id=&quot;doc_742804989840754&quot; name=&quot;doc_742804989840754&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; align=&quot;middle&quot; height=&quot;500&quot; width=&quot;100%&quot;&gt;        &lt;param name=&quot;movie&quot; value=&quot;http://d.scribd.com/ScribdViewer.swf?document_id=9973578&amp;amp;access_key=key-q3to9tqcopl0kani92e&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode=list&quot;&gt;         &lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;         &lt;param name=&quot;play&quot; value=&quot;true&quot;&gt;        &lt;param name=&quot;loop&quot; value=&quot;true&quot;&gt;         &lt;param name=&quot;scale&quot; value=&quot;showall&quot;&gt;        &lt;param name=&quot;wmode&quot; value=&quot;opaque&quot;&gt;         &lt;param name=&quot;devicefont&quot; value=&quot;false&quot;&gt;        &lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot;&gt;         &lt;param name=&quot;menu&quot; value=&quot;true&quot;&gt;        &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;         &lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;         &lt;param name=&quot;salign&quot; value=&quot;&quot;&gt;                        &lt;param name=&quot;mode&quot; value=&quot;list&quot;&gt;                &lt;embed src=&quot;http://d.scribd.com/ScribdViewer.swf?document_id=9973578&amp;amp;access_key=key-q3to9tqcopl0kani92e&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode=list&quot; quality=&quot;high&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; play=&quot;true&quot; loop=&quot;true&quot; scale=&quot;showall&quot; wmode=&quot;opaque&quot; devicefont=&quot;false&quot; bgcolor=&quot;#ffffff&quot; name=&quot;doc_742804989840754_object&quot; menu=&quot;true&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; salign=&quot;&quot; type=&quot;application/x-shockwave-flash&quot; align=&quot;middle&quot; mode=&quot;list&quot; height=&quot;500&quot; width=&quot;100%&quot;&gt;&lt;/embed&gt;    &lt;/object&gt;    &lt;div style=&quot;margin: 6px auto 3px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block;&quot;&gt;    &lt;a href=&quot;http://www.scribd.com/upload&quot; style=&quot;text-decoration: underline;&quot;&gt;Publish at Scribd&lt;/a&gt; or &lt;a href=&quot;http://www.scribd.com/browse&quot; style=&quot;text-decoration: underline;&quot;&gt;explore&lt;/a&gt; others:            &lt;a href=&quot;http://www.scribd.com/browse/eBooks/Internet-Technology?style=text-decoration%3A+underline%3B&quot;&gt;Internet &amp;amp; Technolog&lt;/a&gt;              &lt;a href=&quot;http://www.scribd.com/browse/eBooks/?style=text-decoration%3A+underline%3B&quot;&gt;eBooks&lt;/a&gt;                  &lt;a href=&quot;http://www.scribd.com/tag/java&quot; style=&quot;text-decoration: underline;&quot;&gt;java&lt;/a&gt;              &lt;a href=&quot;http://www.scribd.com/tag/Design%20Patterns&quot; style=&quot;text-decoration: underline;&quot;&gt;Design Patterns&lt;/a&gt;          &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/4400601627024838862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/4400601627024838862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4400601627024838862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4400601627024838862'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/02/design-patterns-explained-with-java-and.html' title='Design Patterns Explained With Java and Uml2'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-5339106074233594944</id><published>2009-02-06T08:03:00.004+01:00</published><updated>2009-02-06T08:17:20.021+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GTD"/><title type='text'>GTD lightweigh but effective tools</title><content type='html'>Some time ago I started reading about GTD &quot;philosophy&quot;. GTD is easy to follow and effective in your day by day. In my case it helps me a lot at work, improving my organization and the problem resolution. Like other methodologies the difficult isn&#39;t in the methodology itself but in ourself, that is, we now what are the &quot;right steps&quot; but forgot to follow them.&lt;br /&gt;&lt;br /&gt;Here I point three little tools can help with your day by day (applying GTD):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://monkeygtd.tiddlyspot.com/#MonkeyGTD&quot;&gt;MonkeyGTD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.dcubed.ca/Welcome_to_d-cubed.html&quot;&gt;d3&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://nathanbowers.com/gtdtw/&quot;&gt;GTDTiddlyWiki&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;All three are based on the &lt;a href=&quot;http://en.wikipedia.org/wiki/TiddlyWiki&quot;&gt;TiddlyWiki&lt;/a&gt; (imagine a HTML page that modifies itself). In the case of &#39;d3&#39; you have an util calendar to put your reminders.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/5339106074233594944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/5339106074233594944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5339106074233594944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5339106074233594944'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/02/gtd-lightweigh-but-effective-tools.html' title='GTD lightweigh but effective tools'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-3948746020634030117</id><published>2009-01-13T08:08:00.002+01:00</published><updated>2009-01-13T08:11:07.262+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>Simply the truth</title><content type='html'>Here I would like to put a copy of a post read from &lt;a href=&quot;http://http://www.navegapolis.net/content/view/850/62/&quot;&gt;Navegapolis&lt;/a&gt; (Spanish), but contains a link to a &lt;a href=&quot;http://www.youtube.com/watch?v=IyNPeTn8fpo#t=13m55s&quot;&gt;video&lt;/a&gt; with an speaking of Ken Schwaber.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Si tienes un equipo de ingenieros excelentes, que utilizan excelentes herramientas, trabajan con prácticas de ingeniería correctas, comprenden perfectamente el negocio del cliente, disponen de los recursos que necesitan y no se les interrumpe en su trabajo... Puedes trabajar con scrum: tendrás un incremento de software al final de cada iteración.&lt;br /&gt;&lt;br /&gt;De todas formas, scrum también funciona con idiotas. Puedes tener un grupo de idiotas, no hace falta ni que hayan ido a la escuela, ni que sepan de informática o de ingeniería del software. Un grupo que se odien entre ellos, no comprendan el negocio del cliente y trabajen con herramientas traperas...  también produciran incrementos periódicos... de mierda.&lt;br /&gt;&lt;br /&gt;Está bien, porque sabes lo que tendrás al final de cada iteración.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/3948746020634030117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/3948746020634030117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3948746020634030117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3948746020634030117'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/01/simply-truth.html' title='Simply the truth'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-9161679483250277903</id><published>2009-01-12T20:50:00.000+01:00</published><updated>2009-01-12T20:51:16.144+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AWS"/><category scheme="http://www.blogger.com/atom/ns#" term="CFML"/><title type='text'>Amazon WebServices and... sort your params !!!</title><content type='html'>A couple of weeks ago I start working with Amazon Web Services. Very, very powerful. I just work with a few features like EC2 and S3 but I love it. There are APIs in most language (Java, PHP, ...) to use the Amazon WS.&lt;br /&gt;&lt;br /&gt;Anyway, this post is a reminder for all of you that want to implement an API for AWS in some other language (like me and CFML).&lt;br /&gt;&lt;br /&gt;Extracted from &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/2008-08-08/DeveloperGuide/&quot;&gt;http://docs.amazonwebservices.com/AWSEC2/2008-08-08/DeveloperGuide/&lt;/a&gt; I copy the sentence that solve my headache:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Sort the query parameters (not URL-encoded) without using case-sensitively.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When you invoke some AWS action the params must be sorted by its name.&lt;br /&gt;&lt;br /&gt;Be happy and read the doc.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/9161679483250277903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/9161679483250277903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/9161679483250277903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/9161679483250277903'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2009/01/amazon-webservices-and-sort-your-params.html' title='Amazon WebServices and... sort your params !!!'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-4381264856663156764</id><published>2008-12-13T18:42:00.002+01:00</published><updated>2008-12-13T18:47:28.023+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Heavyweight + Lightweight</title><content type='html'>Today seems a good day for many Java developer.&lt;br /&gt;Via &lt;a href=&quot;http://weblogs.java.net/blog/richunger/archive/2008/12/heavyweightligh.html&quot;&gt;Rich Unger&#39;s Blog&lt;/a&gt; I found the problem with havyweight and lightweight components is solved in &lt;a href=&quot;http://blogs.sun.com/SDNProgramNews/entry/java_se_6_update_121&quot;&gt;Java6u12&lt;/a&gt; and also Java6u12 early access is availably too.&lt;br /&gt;I must test it in the &lt;a href=&quot;http://theballoonproject.blogspot.com/&quot;&gt;Balloon project&lt;/a&gt;, nice to merge WWJ with NetBeans platform.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/4381264856663156764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/4381264856663156764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4381264856663156764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4381264856663156764'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/12/heavyweight-lightweight.html' title='Heavyweight + Lightweight'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-5660849753780824194</id><published>2008-12-02T07:50:00.002+01:00</published><updated>2008-12-02T08:03:33.244+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JPA"/><title type='text'>Working with rollbacks in JPA</title><content type='html'>First examples you could see about JPA shows you how easy is to work with it. Don&#39;t misunderstand me, I like JPA, we (the developers) need a standard in the ORM world.&lt;br /&gt;What I mean is when you really start working in a project using JPA discover you must understand fine the standard and the ORM engine implementing it (in my case TopLink).&lt;br /&gt;&lt;br /&gt;Previously, in another post I put a couple of links on how to detach entities, here I would like to point to another post, from David Van Couvering&#39;s blog, talking about &lt;a href=&quot;http://weblogs.java.net/blog/davidvc/archive/2007/04/jpa_and_rollbac.html&quot;&gt;transaction rollbacks&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/5660849753780824194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/5660849753780824194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5660849753780824194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5660849753780824194'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/12/working-with-rollbacks-in-jpa.html' title='Working with rollbacks in JPA'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-5094685050545942457</id><published>2008-11-26T17:23:00.002+01:00</published><updated>2008-11-26T17:36:10.755+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Databases"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Databases: thinking different</title><content type='html'>Today I read another great article from Martin Fowler&#39;s web page &lt;a href=&quot;http://martinfowler.com/bliki/DatabaseThaw.html&quot;&gt;DatabaseThaw&lt;/a&gt;.&lt;br /&gt;In these days it seems there is no place to databases philosophy other than relational and the RDBMS titans.&lt;br /&gt;I would like to note one database in &quot;the dark side&quot; commented in the above article, &lt;a href=&quot;http://neo4j.org&quot;&gt;neo4j&lt;/a&gt;, a graph oriented database.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/5094685050545942457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/5094685050545942457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5094685050545942457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5094685050545942457'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/11/databases-thinking-different.html' title='Databases: thinking different'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-279837115238223278</id><published>2008-11-25T21:24:00.003+01:00</published><updated>2008-11-25T21:42:21.687+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JPA"/><title type='text'>Detach an entity from JPA persistence context</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;1 - Previously&lt;/span&gt;&lt;br /&gt;Ok, you have designed a great domain model and then translete it to a database or, also much probably, have designed a great database and then generated the corresponding entity classes.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;2 - Now&lt;/span&gt;&lt;br /&gt;You have some GUI to get user input data. Easy. You create a new domain object (customer, product, bill or whatever else) and persist it through your favourite JPA engine.&lt;br /&gt;Now you have some GUI that lists the available objects in your domain (again customer, product, bill or whatever else. I good idea could be obtain that objects in the way of domain object, I suppose for that reason you create a model, then you can change properties in some of that objects and store (persist) again those changes, so called merge changes.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;3 - The question&lt;/span&gt;&lt;br /&gt;Here comes the question. How can you detach an object from the persistence context? If you could get a dettached object you could modify its properties, then if the user agrees persist its new state or leave unchaged otherwise.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;4 - The solution (or better say &#39;some of the solutions&#39;)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://stackoverflow.com/questions/31446/detach-an-entity-from-jpaejb3-persistence-context&quot;&gt;Detach an entity from JPA/EJB3 persistence context&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/279837115238223278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/279837115238223278' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/279837115238223278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/279837115238223278'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/11/detach-entity-from-jpa-persistence.html' title='Detach an entity from JPA persistence context'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-4272813237791607545</id><published>2008-11-23T12:20:00.002+01:00</published><updated>2008-11-23T12:24:13.334+01:00</updated><title type='text'>Where is Java plug-in under Java 6u10?</title><content type='html'>I think I&#39;m not the first who downloads the last Java6 update 10 release and maybe those I was surprised.&lt;br /&gt;I just download the 64bits Linux version and when trying to configure the Java plugin in Firefox I found (or better say) I didn&#39;t find the plugin file.&lt;br /&gt;Looking a bit I found &lt;a href=&quot;http://forums.java.net/jive/thread.jspa?threadID=51822&amp;tstart=0&quot;&gt;this post&lt;/a&gt;. It seems the 64 bits plugin version is still in development :(</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/4272813237791607545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/4272813237791607545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4272813237791607545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4272813237791607545'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/11/where-is-java-plug-in-under-java-6u10.html' title='Where is Java plug-in under Java 6u10?'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-3187099425058179892</id><published>2008-11-02T19:42:00.006+01:00</published><updated>2008-11-09T10:38:18.781+01:00</updated><title type='text'>Ubuntu scream !!!</title><content type='html'>Probably I should be worried about my mental health if I make a Roschard&#39;s test, but the first time a see the new Ubutu Intrepid background I saw:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://wiki.ubuntu.com/Artwork/Incoming/Intrepid/Earthenibex_wallpaper?action=AttachFile&amp;do=get&amp;target=earthenibex-edit-preview.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 300px;&quot; src=&quot;https://wiki.ubuntu.com/Artwork/Incoming/Intrepid/Earthenibex_wallpaper?action=AttachFile&amp;do=get&amp;target=earthenibex-edit-preview.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://69.90.174.250/photos/display_pic_with_logo/169228/169228,1221174931,1.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 175px;&quot; src=&quot;http://69.90.174.250/photos/display_pic_with_logo/169228/169228,1221174931,1.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;an sreaming skull !!!</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/3187099425058179892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/3187099425058179892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3187099425058179892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3187099425058179892'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/11/ubuntu-scream.html' title='Ubuntu scream !!!'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-7578583868601599901</id><published>2008-09-28T11:55:00.005+02:00</published><updated>2008-09-28T12:12:51.997+02:00</updated><title type='text'>HTML&amp;Applet reminder</title><content type='html'>It was painful but necessary to explain this history. Someone can think I&#39;m a newbie and maybe he/she is right.&lt;br /&gt;&lt;br /&gt;Many people has knowledge about HTML but ,like me, not everydoby is updated about what tags are in use and what are deprecated.&lt;br /&gt;&lt;br /&gt;I started working in a simple HTML using DreamWeaver like this:&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;html&quot;&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;&lt;br /&gt;&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;&lt;br /&gt;&lt;title&gt;Documento sin t&amp;iacute;tulo&lt;/title&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As you can see, the basic template includes a DTD line specifying XHTML1.0.&lt;br /&gt;&lt;br /&gt;My problem comes when I tried to add an APPLET to the page. I spent near an hour comparing my code with other pages: maybe my applet &#39;codebase&#39; is wrong? maybe the libraries needed by the applet has a wrong path? ...&lt;br /&gt;&lt;br /&gt;Finally I found the problem. Here is a copy&amp;amp;paste extracted from &lt;a href=&quot;http://www.w3schools.com/&quot;&gt;w3schools&lt;br /&gt;&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;The applet element was deprecated in HTML 4.01.&lt;br /&gt;The applet element is not supported in XHTML 1.0 Strict DTD.&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/7578583868601599901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/7578583868601599901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/7578583868601599901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/7578583868601599901'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/09/html-reminder.html' title='HTML&amp;Applet reminder'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-8932489115759240932</id><published>2008-09-26T22:41:00.000+02:00</published><updated>2008-09-26T22:41:45.704+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Swing Application Framework &amp; Beans Binding</title><content type='html'>This is a short post related to two Java project that can be very useful.&lt;br /&gt;&lt;br /&gt;Swing Application Framework (&lt;a href=&quot;https://appframework.dev.java.net/&quot;&gt;https://appframework.dev.java.net&lt;/a&gt;) is &lt;span style=&quot;font-style: italic;&quot;&gt;a small       set of Java classes that simplify building desktop applications&lt;/span&gt;. I recommned it because it can be viewed as a set of good practices programming with Java. Also take a look at &lt;a href=&quot;http://java.sun.com/developer/technicalArticles/javase/swingappfr/&quot;&gt;this article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On the other hand, lately working with NetBeans I make use fo &lt;a href=&quot;https://beansbinding.dev.java.net&quot;&gt;BeansBinding&lt;/a&gt;. It could be a bit confusing at the begining but to work with tables and bind values to DB tables, Lists or other objects, is very poweful</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/8932489115759240932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/8932489115759240932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8932489115759240932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8932489115759240932'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/09/swing-application-framework-beans.html' title='Swing Application Framework &amp; Beans Binding'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-8697263307136499785</id><published>2008-08-09T23:00:00.001+02:00</published><updated>2008-08-09T23:01:52.683+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>Visual words definition</title><content type='html'>Today I know the existence of this amazing page: &lt;a href=&quot;http://www.visuwords.com&quot;&gt;Visuwords&lt;/a&gt;.&lt;br /&gt;I think it is one of the most original things I can see in many time.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/8697263307136499785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/8697263307136499785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8697263307136499785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8697263307136499785'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/08/visual-words-definition.html' title='Visual words definition'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-3050467986830359458</id><published>2008-08-07T22:25:00.007+02:00</published><updated>2008-08-07T22:55:31.317+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JAXB"/><category scheme="http://www.blogger.com/atom/ns#" term="KML"/><category scheme="http://www.blogger.com/atom/ns#" term="XSD"/><title type='text'>Using JAXB to generate KML Java classes</title><content type='html'>Some days ago I write a post about using JAXB with the KML&#39;s XSD file.&lt;br /&gt;Due to a comment I would like to write more explicitly how I generated the Java files.&lt;br /&gt;&lt;br /&gt;First of all, what you need is the &lt;a href=&quot;http://code.google.com/apis/kml/documentation/kmlreference.html&quot;&gt;XSD files&lt;/a&gt; which defines the KML syntax (&lt;a href=&quot;http://schemas.opengis.net/kml&quot;&gt;http://schemas.opengis.net/kml&lt;/a&gt;).&lt;br /&gt;Also, you need the &lt;tt&gt;xjc&lt;/tt&gt; utility, included in the JDK6 (or download the JAXB project files).&lt;br /&gt;&lt;br /&gt;Uncompress the XSD zip file and go into the uncompressed folder. Execute:&lt;br /&gt;&lt;tt&gt;xjc -xmlschema -verbose -extension ogckml22.xsd&lt;/tt&gt;&lt;br /&gt;and get an error similar to this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;[ERROR] Two declarations cause a collision in the ObjectFactory class.&lt;br /&gt;line 1058 of file:kml_files/ogckml22.xsd&lt;br /&gt;&lt;br /&gt;[ERROR] (Related to above error) This is the other declaration.&lt;br /&gt;line 255 of file:kml_files/ogckml22.xsd&lt;br /&gt;&lt;br /&gt;[ERROR] Two declarations cause a collision in the ObjectFactory class.&lt;br /&gt;line 350 of file:kml_files/ogckml22.xsd&lt;br /&gt;&lt;br /&gt;[ERROR] (Related to above error) This is the other declaration.&lt;br /&gt;line 261 of file:kml_files/ogckml22.xsd&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The problem is there are two &lt;span style=&quot;font-style: italic;&quot;&gt;scale&lt;/span&gt; elements defined, one like &#39;scale&#39; and the other with upper case &#39;Scale&#39;. And the same for the &lt;span style=&quot;font-style: italic;&quot;&gt;snippet&lt;/span&gt; element.&lt;br /&gt;By default, JAXB uses case insensitive which will produce duplicated class names.&lt;br /&gt;&lt;br /&gt;To resolve this there are some solutions. One is to &lt;a href=&quot;http://ssklogs.blogspot.com/2006/07/jaxb-class-customization.html&quot;&gt;customize the JAXB&lt;/a&gt; specifying the class name to be generated for some elements. The later is a workaround (that I used) that consist to change the name for one of the duplicated elements. &lt;br /&gt;In line 255 change:&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&lt;element name=&quot;scale&quot; type=&quot;double&quot; default=&quot;1.0&quot;&gt;&lt;/element&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;by&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;&lt;element name=&quot;LiteralScale&quot; type=&quot;double&quot; default=&quot;1.0&quot;&gt;&lt;/element&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and in line 1391 chage:&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;&lt;element ref=&quot;kml:scale&quot; minoccurs=&quot;0&quot;&gt;&lt;/element&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;by&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;&lt;element ref=&quot;kml:LiteralScale&quot; minoccurs=&quot;0&quot;&gt;&lt;/element&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The same for the &lt;span style=&quot;font-style: italic;&quot;&gt;snippet&lt;/span&gt; element.&lt;br /&gt;&lt;br /&gt;Now you can re-execute the &lt;span style=&quot;font-style: italic;&quot;&gt;xjc&lt;/span&gt; command and a set of Java classes will be generated. The only difference is the change in the &lt;span style=&quot;font-style: italic;&quot;&gt;scale&lt;/span&gt; element which produces a different class name.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/3050467986830359458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/3050467986830359458' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3050467986830359458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/3050467986830359458'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/08/using-jaxb-to-generate-kml-java-classes.html' title='Using JAXB to generate KML Java classes'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-1373893272824004738</id><published>2008-07-27T17:06:00.003+02:00</published><updated>2008-07-27T17:15:27.328+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>Eastwood Charts</title><content type='html'>Today, via &lt;a href=&quot;http://www.jroller.com/dgilbert/&quot;&gt;Dave Gilbert&lt;/a&gt;&#39;s blog, I know the existence of &lt;a href=&quot;http://www.jfree.org/eastwood/&quot;&gt;Eastwood Charts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you know about &lt;a href=&quot;http://code.google.com/apis/chart/&quot;&gt;Google Chart API&lt;/a&gt;, Eastwood are the same thing but based in the powerful &lt;a href=&quot;http://www.jfree.org/jfreechart/index.html&quot;&gt;JFreeChart&lt;/a&gt; library. &lt;a href=&quot;http://www.jfree.org/eastwood/samples.html&quot;&gt;Here is a comparison&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.jfree.org/eastwood/images/demo1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;&quot; src=&quot;http://www.jfree.org/eastwood/images/demo1.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The interesting part of Eastwood is it can be used as a servlet installed on your own server and thus you don&#39;t need to send your data to Google.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/1373893272824004738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/1373893272824004738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/1373893272824004738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/1373893272824004738'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/07/eastwood-charts.html' title='Eastwood Charts'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-2459476926110667594</id><published>2008-07-27T15:13:00.003+02:00</published><updated>2008-07-27T15:17:48.336+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>Remove too much files...</title><content type='html'>Sometimes (in Linux) if you try to delete all files in a directory (that contains a lot files) you get an: &lt;br /&gt;&lt;pre&gt;&gt; rm -rf * &lt;br /&gt;Argument list too long&lt;/pre&gt;&lt;br /&gt;Via DZone I found this &lt;a href=&quot;http://blog.trendics.com/linux/argument-list-too-long-message-in-linux/&quot;&gt;tip&lt;/a&gt; to avoid this problem. Basically it used &lt;tt&gt;find&lt;/tt&gt; command to get the list of interested files and remove it one by one.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/2459476926110667594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/2459476926110667594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2459476926110667594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2459476926110667594'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/07/remove-too-much-files.html' title='Remove too much files...'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-2141797698858442812</id><published>2008-07-18T20:08:00.002+02:00</published><updated>2008-07-18T20:13:39.872+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JAXB"/><category scheme="http://www.blogger.com/atom/ns#" term="KML"/><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>JAXB for KML</title><content type='html'>Yesterday, I take a look at &lt;a href=&quot;http://code.google.com/apis/kml/documentation/&quot;&gt;KML 2.2&lt;/a&gt; specification.&lt;br /&gt;To avoid create a million of classes to parse XML (KML) documents I put on my hands &lt;a href=&quot;https://jaxb.dev.java.net/&quot;&gt;JAXB&lt;/a&gt;. After a while to resolve a duplicate element name (due to case insensitive in JAXB), finally I get a bunch of classes representing the KML element types.&lt;br /&gt;&lt;br /&gt;After a couple of little test it seems is all right and now I need to spend some time (that I haven&#39;t) to integrate KML2.2 support into &lt;a href=&quot;http://http://theballoonproject.blogspot.com/&quot;&gt;Balloon&lt;/a&gt; ;)</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/2141797698858442812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/2141797698858442812' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2141797698858442812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2141797698858442812'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/07/jaxb-for-kml.html' title='JAXB for KML'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-2940672677286526599</id><published>2008-07-17T21:35:00.002+02:00</published><updated>2008-07-17T21:39:20.538+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="design patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="various"/><title type='text'>Design Patterns</title><content type='html'>Today I would like to point to this post &lt;a href=&quot;http://blog.cumps.be/design-patterns-command-pattern/&quot;&gt;Design Patterns - Command Pattern&lt;/a&gt;. &lt;br /&gt;Via &lt;a href=&quot;http://www.dzone.com&quot;&gt;DZone&lt;/a&gt; I can see David Cumps is written a series of post about &lt;a href=&quot;http://en.wikipedia.org/wiki/Design_pattern_(computer_science)&quot;&gt;design patterns&lt;/a&gt;.&lt;br /&gt;Very interesting for all programmers.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/2940672677286526599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/2940672677286526599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2940672677286526599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2940672677286526599'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/07/design-patterns.html' title='Design Patterns'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-4506462705943475336</id><published>2008-07-10T22:18:00.000+02:00</published><updated>2008-07-10T22:19:10.408+02:00</updated><title type='text'>Quote</title><content type='html'>Everyone is as God has made him, and oftentimes a great deal worse.&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Miguel de Cervantes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Spanish adventurer, author, &amp; poet (1547 - 1616)&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/4506462705943475336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/4506462705943475336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4506462705943475336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/4506462705943475336'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/07/quote.html' title='Quote'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-5494849661590424382</id><published>2008-06-27T19:47:00.003+02:00</published><updated>2008-08-07T22:54:52.365+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Working with time</title><content type='html'>It can seem trivial but sometimes working with time can become a real headache.&lt;br /&gt;Here I present a short code snippet showing one common but confusing situation: &lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;if you create two different Calendar objects and print it getting its Date and using &#39;println()&#39; method they can seem the same.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please read code comments which clarifies every situation.&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import java.util.TimeZone;&lt;br /&gt;&lt;br /&gt;public class utc {&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param args&lt;br /&gt;     */&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        Calendar c1 = Calendar.getInstance(TimeZone&lt;br /&gt;                .getTimeZone(&quot;Europe/Madrid&quot;));&lt;br /&gt;&lt;br /&gt;        Calendar c2 = (Calendar) c1.clone();&lt;br /&gt;        c2.setTimeZone(TimeZone.getTimeZone(&quot;UTC&quot;));&lt;br /&gt;&lt;br /&gt;        // Print Calendars. By default the toString() Calendar method is called&lt;br /&gt;        // and gets a String version of the objects.&lt;br /&gt;        // As you can see the String version shows the time zone of the Calendar.&lt;br /&gt;        System.out.println(&quot;Cal1: &quot; + c1);&lt;br /&gt;        System.out.println(&quot;Cal2: &quot; + c2);&lt;br /&gt;&lt;br /&gt;        // Print the Date objects of each Calendar.&lt;br /&gt;        // Here the toString method of the Date objects are invoked and this method&lt;br /&gt;        // by default translates the Date to the default system timezone. Thus both Dates&lt;br /&gt;        // seems equal.&lt;br /&gt;        System.out.println(&quot;Cal1: &quot; + c1.getTime());&lt;br /&gt;        System.out.println(&quot;Cal2: &quot; + c2.getTime());&lt;br /&gt;&lt;br /&gt;        // Finally we get the value of HOUR, MINUTE and SECOND of each calendar and&lt;br /&gt;        // prints it on the screen.&lt;br /&gt;        int h1 = c1.get(Calendar.HOUR_OF_DAY);&lt;br /&gt;        int m1 = c1.get(Calendar.MINUTE);&lt;br /&gt;        int s1 = c1.get(Calendar.SECOND);&lt;br /&gt;&lt;br /&gt;        int h2 = c2.get(Calendar.HOUR_OF_DAY);&lt;br /&gt;        int m2 = c2.get(Calendar.MINUTE);&lt;br /&gt;        int s2 = c2.get(Calendar.SECOND);&lt;br /&gt;&lt;br /&gt;        System.out.println(&quot;Cal1: &quot; + h1 + &quot;:&quot; + m1 + &quot;:&quot; + s1);&lt;br /&gt;        System.out.println(&quot;Cal2: &quot; + h2 + &quot;:&quot; + m2 + &quot;:&quot; + s2);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/5494849661590424382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/5494849661590424382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5494849661590424382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5494849661590424382'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/06/working-with-time.html' title='Working with time'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-8546866538608356718</id><published>2008-06-15T18:29:00.003+02:00</published><updated>2008-06-15T18:39:29.579+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="EJB3"/><title type='text'>Why I like EJB3...</title><content type='html'>Today I would like to put a link to an &lt;a href=&quot;http://blog.adam-bien.com&quot;&gt;Adam Bien&lt;/a&gt; post: &lt;a href=&quot;http://java.dzone.com/news/why-i-like-ejb-30-and-really-l&quot;&gt;Why I Like EJB 3.0 And Really Like EJB 3.1&lt;/a&gt;, that is a summary of EJB3 benefits.&lt;br /&gt;You can achieve the same with other technologies, but EJB3 offers you the whole pack.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/8546866538608356718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/8546866538608356718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8546866538608356718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/8546866538608356718'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/06/why-i-like-ejb3.html' title='Why I like EJB3...'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-2333446681053767922</id><published>2008-05-14T16:14:00.002+02:00</published><updated>2008-05-14T16:23:23.918+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="EJB3"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Using JPA in a web application</title><content type='html'>I usually work creating my entity data model classes using JPA and creating session beans (or stateless/web services beans) in an EJB module to acces this data. Later, I create a web/desktop application to access entities through the previous module.&lt;br /&gt;&lt;br /&gt;But sometimes you need/want to do a more quickly/ugly job working with entities directly from your web application. For those (like me today ;)) I put here this link to a JEE5 blueprint named: &lt;a href=&quot;https://blueprints.dev.java.net/bpcatalog/ee5/persistence/webonlyapp.html&quot;&gt;Design Choices in a Web-only Application Using Java Persistence&lt;/a&gt;.&lt;br /&gt;Among other things, It talks about using container or application managed entity managers.</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/2333446681053767922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/2333446681053767922' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2333446681053767922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/2333446681053767922'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/05/using-jpa-in-web-application.html' title='Using JPA in a web application'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2662362781126941391.post-5496803744348873419</id><published>2008-04-26T20:15:00.005+02:00</published><updated>2008-04-26T20:33:38.327+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><title type='text'>Obfuscating a NetBeans Java application project</title><content type='html'>Some time ago I found a couple of posts talking about how obfuscating a NetBeans RCP module (&lt;a href=&quot;http://blogs.sun.com/geertjan/entry/obfuscation&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://wiki.netbeans.org/DevFaqModuleObfuscation&quot;&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Getting some parts of the ant targets presented in the previous post, this one present a simple target that allows to obfuscate a normal java library.&lt;br /&gt;&lt;br /&gt;For this, you need to have installed the obfuscator &lt;a href=&quot;http://proguard.sourceforge.net/&quot;&gt;ProGuard&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Take into account I am talking about obfuscating a Java library. This implies the obfuscation is lighter than if you obfuscate a closed application, that is, all public methods and interfaces must maintain its name (if not you can call your library methods anymore).&lt;br /&gt;&lt;br /&gt;Open your build.xml Java application file and paste this target:&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &lt;target name=&quot;-post-jar&quot;&gt;&lt;br /&gt;        &lt;property name=&quot;proguard.jar.path&quot; value=&quot;/path/to/proguard.jar&quot;/&gt;&lt;br /&gt;        &lt;property name=&quot;java.home.path&quot; value=&quot;/path/to/java/home&quot;/&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;taskdef resource=&quot;proguard/ant/task.properties&quot;&lt;br /&gt;                 classpath=&quot;${proguard.jar.path}&quot; /&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;echo message=&quot;Obfuscating ${dist.jar}...&quot;/&gt;&lt;br /&gt;        &lt;mkdir dir=&quot;${build.dir}/obfuscated&quot;/&gt;&lt;br /&gt;        &lt;proguard printmapping=&quot;${build.dir}/obfuscated/${application.title}.map&quot;&lt;br /&gt;                  renamesourcefileattribute=&quot;SourceFile&quot; ignorewarnings=&quot;true&quot;&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Specify the input jars, output jars, and library jars. --&gt;&lt;br /&gt;            &lt;injar  file=&quot;${dist.jar}&quot; /&gt;&lt;br /&gt;            &lt;outjar file=&quot;${build.dir}/obfuscated/BalloonWindCore_JavaSE.jar&quot; /&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;libraryjar path=&quot;${javac.classpath}&quot; /&gt;            &lt;br /&gt;            &lt;libraryjar file=&quot;${java.home.path}/jre/lib/rt.jar&quot; /&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Keep some useful attributes. --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;InnerClasses&quot; /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;SourceFile&quot; /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;LineNumberTable&quot; /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;Deprecated&quot; /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;*Annotation*&quot; /&gt;&lt;br /&gt;            &lt;keepattribute name=&quot;Signature&quot; /&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Preserve all public classes, and their public and protected fields and methods. --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keep access=&quot;public&quot;&gt;&lt;br /&gt;                &lt;field  access=&quot;public protected&quot; /&gt;&lt;br /&gt;                &lt;method access=&quot;public protected&quot; /&gt;&lt;br /&gt;            &lt;/keep&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;!-- Preserve all .class method names. --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keepclassmembernames access=&quot;public&quot;&gt;&lt;br /&gt;                &lt;method type      =&quot;java.lang.Class&quot;&lt;br /&gt;                        name      =&quot;class$&quot;&lt;br /&gt;                        parameters=&quot;java.lang.String&quot; /&gt;&lt;br /&gt;                &lt;method type      =&quot;java.lang.Class&quot;&lt;br /&gt;                        name      =&quot;class$&quot;&lt;br /&gt;                        parameters=&quot;java.lang.String,boolean&quot; /&gt;&lt;br /&gt;            &lt;/keepclassmembernames&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Preserve all native method names and the names of their classes. --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keepclasseswithmembernames&gt;&lt;br /&gt;                &lt;method access=&quot;native&quot; /&gt;&lt;br /&gt;            &lt;/keepclasseswithmembernames&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Preserve the methods that are required in all enumeration classes. --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keepclassmembers extends=&quot;java.lang.Enum&quot;&gt;&lt;br /&gt;                &lt;method access=&quot;public static&quot;&lt;br /&gt;                        type=&quot;**[]&quot;&lt;br /&gt;                        name=&quot;values&quot;&lt;br /&gt;                        parameters=&quot;&quot; /&gt;&lt;br /&gt;                &lt;method access=&quot;public static&quot;&lt;br /&gt;                        type=&quot;**&quot;&lt;br /&gt;                        name=&quot;valueOf&quot;&lt;br /&gt;                        parameters=&quot;java.lang.String&quot; /&gt;&lt;br /&gt;            &lt;/keepclassmembers&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Explicitly preserve all serialization members. The Serializable&lt;br /&gt;                 interface is only a marker interface, so it wouldn&#39;t save them.&lt;br /&gt;                 You can comment this out if your library doesn&#39;t use serialization.&lt;br /&gt;                 With this code serializable classes will be backward compatible --&gt;&lt;br /&gt;&lt;br /&gt;            &lt;keepnames implements=&quot;java.io.Serializable&quot;/&gt;&lt;br /&gt;            &lt;keepclassmembers implements=&quot;java.io.Serializable&quot;&gt;&lt;br /&gt;                &lt;field  access    =&quot;final&quot;&lt;br /&gt;                        type      =&quot;long&quot;&lt;br /&gt;                        name      =&quot;serialVersionUID&quot; /&gt;&lt;br /&gt;                &lt;field  access    =&quot;!static !transient&quot;&lt;br /&gt;                        name      =&quot;**&quot;/&gt;&lt;br /&gt;                &lt;field  access    =&quot;!private&quot;&lt;br /&gt;                        name      =&quot;**&quot;/&gt;&lt;br /&gt;                &lt;method access    =&quot;!private&quot;&lt;br /&gt;                        name      =&quot;**&quot;/&gt;&lt;br /&gt;                &lt;method access    =&quot;private&quot;&lt;br /&gt;                        type      =&quot;void&quot;&lt;br /&gt;                        name      =&quot;writeObject&quot;&lt;br /&gt;                        parameters=&quot;java.io.ObjectOutputStream&quot; /&gt;&lt;br /&gt;                &lt;method access    =&quot;private&quot;&lt;br /&gt;                        type      =&quot;void&quot;&lt;br /&gt;                        name      =&quot;readObject&quot;&lt;br /&gt;                        parameters=&quot;java.io.ObjectOutputStream&quot; /&gt;&lt;br /&gt;                &lt;method type      =&quot;java.lang.Object&quot;&lt;br /&gt;                        name      =&quot;writeReplace&quot;&lt;br /&gt;                        parameters=&quot;&quot; /&gt;&lt;br /&gt;                &lt;method type      =&quot;java.lang.Object&quot;&lt;br /&gt;                        name      =&quot;readResolve&quot;&lt;br /&gt;                        parameters=&quot;&quot; /&gt;&lt;br /&gt;            &lt;/keepclassmembers&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;!-- Your application may contain more items that need to be preserved;&lt;br /&gt;                 typically classes that are dynamically created using Class.forName --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;/proguard&gt;&lt;br /&gt;    &lt;/target&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Special attention to these couple of lines:&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &lt;property name=&quot;proguard.jar.path&quot; value=&quot;/path/to/proguard.jar&quot;/&gt;&lt;br /&gt;    &lt;property name=&quot;java.home.path&quot; value=&quot;/path/to/java/home&quot;/&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://acuriousanimal.blogspot.com/feeds/5496803744348873419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2662362781126941391/5496803744348873419' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5496803744348873419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2662362781126941391/posts/default/5496803744348873419'/><link rel='alternate' type='text/html' href='http://acuriousanimal.blogspot.com/2008/04/obfuscating-netbeans-java-application.html' title='Obfuscating a NetBeans Java application project'/><author><name>Antonio  Santiago</name><uri>http://www.blogger.com/profile/05354117103226692378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>