<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;D08MRHozfCp7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363</id><updated>2012-02-16T10:51:25.484+01:00</updated><category term="linux" /><category term="hibernate" /><category term="zfs" /><category term="genews" /><category term="java" /><category term="en" /><category term="books" /><category term="di" /><category term="programming" /><category term="sourceforge" /><category term="es" /><category term="startup" /><category term="aop" /><category term="derquinse-commons" /><category term="stm" /><category term="gwt" /><category term="maven" /><category term="lucene" /><category term="github" /><category term="gadget" /><category term="graph" /><category term="concurrency" /><category term="rumor" /><category term="types" /><category term="databases" /><category term="rest" /><category term="meta" /><category term="osgi" /><category term="android" /><category term="pl" /><category term="ddd" /><category term="spring" /><category term="haskell" /><category term="lucis" /><category term="orm" /><category term="sun" /><category term="gist" /><category term="portal" /><category term="eclipse" /><category term="google" /><title>Diving into an Infinite Ocean</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.derquinse.net/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Reddal" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="reddal" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUEFQXsyfCp7ImA9WhRbGU0.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-5661823194192958103</id><published>2012-02-10T19:13:00.001+01:00</published><updated>2012-02-10T20:53:30.594+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-10T20:53:30.594+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="derquinse-commons" /><title>New home for Derquinse Commons API documentation</title><content type="html">One of the main issues in Derquinse Commons is the lack of documentation, &amp;nbsp;including the lack of a stable home for the Javadoc-generated documentation.&lt;br /&gt;
&lt;br /&gt;
From now on, and thanks to the wonderful &lt;a href="http://pages.github.com/"&gt;GitHub pages&lt;/a&gt; service, you can find the API docs at &lt;a href="http://apis.derquinse.net/derquinse-common"&gt;http://apis.derquinse.net/derquinse-common&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Non-API docs are still missing, and I hope to be able to write some soon.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-5661823194192958103?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f7_Dcsl4RisaDSsQKT66x2pI5-4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f7_Dcsl4RisaDSsQKT66x2pI5-4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f7_Dcsl4RisaDSsQKT66x2pI5-4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f7_Dcsl4RisaDSsQKT66x2pI5-4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/5661823194192958103/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=5661823194192958103" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5661823194192958103?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5661823194192958103?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2012/02/new-home-for-derquinse-commons-api.html" title="New home for Derquinse Commons API documentation" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkAMSX46fyp7ImA9WhRUEUk.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-5776395887412772232</id><published>2012-01-21T13:26:00.002+01:00</published><updated>2012-01-21T13:26:28.017+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T13:26:28.017+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="derquinse-commons" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Derquinse Commons now in Maven Central</title><content type="html">One if the best features in &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; is dependency management. Even with its known problems it is a great step forward and &lt;a href="http://ant.apache.org/ivy/"&gt;many&lt;/a&gt; &lt;a href="http://buildr.apache.org/"&gt;other&lt;/a&gt; &lt;a href="http://groovy.codehaus.org/Grape"&gt;build&lt;/a&gt; &lt;a href="http://grails.org/"&gt;systems&lt;/a&gt; reuse Maven's repository structure.&lt;br /&gt;
&lt;br /&gt;
One of the essential parts of this vision is the Maven Central Repository, your one stop shop for most of the dependencies in your projects.&lt;br /&gt;
&lt;br /&gt;
Publishing to Maven Central has always had its requirement set (you can find an updated list &lt;a href="https://docs.sonatype.org/display/Repository/Central+Sync+Requirements"&gt;here&lt;/a&gt;), one of them being that the repository must be self-contained. That is, no artifact may depend on another artifact that is not part of the repository.&lt;br /&gt;
&lt;br /&gt;
Back in 2008, when I started both &lt;a href="http://sourceforge.net/projects/derquinsej/"&gt;derquinsej&lt;/a&gt; and &lt;a href="http://sourceforge.net/projects/lucis/"&gt;lucis&lt;/a&gt;, this requirement was fulfilled with no problem and synchronization with Central was provided thanks to &lt;a href="http://sourceforge.net/"&gt;Sourceforge&lt;/a&gt;'s SSH access.&lt;br /&gt;
&lt;br /&gt;
However, as time passed, some projects such as Hibernate starting publishing its artifacts in external repositories and many other interesting projects were hosted in repositories different of Central, such as Java.net. So, for future projects Central Publishing was not an option and I prepared an &lt;a href="http://code.google.com/p/derquinse-m2/"&gt;external repository&lt;/a&gt; for my own projects.&lt;br /&gt;
&lt;br /&gt;
Fortunately, the situation has improved a lot:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Now many interesting external repositories, such as JBoss and Java.net, are synchronized back in Central.&lt;/li&gt;
&lt;li&gt;Central navigation and search has been &lt;a href="http://search.maven.org/"&gt;enhanced&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sonatype.com/"&gt;Sonatype&lt;/a&gt; provides a &lt;a href="http://oss.sonatype.org/"&gt;repository&lt;/a&gt; for open source projects with the option of being published in Central. The process is &lt;a href="https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide"&gt;very well documented&lt;/a&gt; and the response is fast and great (kudos to &lt;a href="http://www.juvenxu.com/"&gt;Juven Xu&lt;/a&gt;).&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
So, from now on, you can find &lt;a href="http://code.google.com/p/derquinse-commons/"&gt;Derquinse Commons&lt;/a&gt; in &lt;a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.derquinse%22"&gt;Maven Central&lt;/a&gt;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-5776395887412772232?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gfnn3OzCUzaB9rX0vJ37TKLxNms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gfnn3OzCUzaB9rX0vJ37TKLxNms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gfnn3OzCUzaB9rX0vJ37TKLxNms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gfnn3OzCUzaB9rX0vJ37TKLxNms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/5776395887412772232/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=5776395887412772232" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5776395887412772232?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5776395887412772232?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2012/01/derquinse-commons-now-in-maven-central.html" title="Derquinse Commons now in Maven Central" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cBRHk-eip7ImA9WhRVE0Q.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-421853726893103437</id><published>2012-01-12T21:09:00.000+01:00</published><updated>2012-01-12T21:10:55.752+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T21:10:55.752+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Follow up to Maven Release Plugin version problems</title><content type="html">In a previous post, I warned about &lt;a href="http://jira.codehaus.org/browse/MRELEASE-694"&gt;some&lt;/a&gt; &lt;a href="http://jira.codehaus.org/browse/MRELEASE-691"&gt;bugs&lt;/a&gt; that caused the &lt;a href="http://maven.apache.org/plugins/maven-release-plugin/"&gt;Maven Release Plugin&lt;/a&gt; to generate wrong tag versions. While those bugs are still opened today, the real culprit was &lt;a href="http://jira.codehaus.org/browse/MRELEASE-697"&gt;MRELEASE-697&lt;/a&gt; which is fixed in version 2.2.1, which can be used safely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-421853726893103437?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/K4sn7jEmhTB_8qE63cGbjJNGVVw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K4sn7jEmhTB_8qE63cGbjJNGVVw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/K4sn7jEmhTB_8qE63cGbjJNGVVw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K4sn7jEmhTB_8qE63cGbjJNGVVw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/421853726893103437/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=421853726893103437" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/421853726893103437?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/421853726893103437?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2012/01/follow-up-to-maven-release-plugin.html" title="Follow up to Maven Release Plugin version problems" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUMBRnw7fCp7ImA9WhRQFUk.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-565002173892291243</id><published>2011-12-09T19:24:00.001+01:00</published><updated>2011-12-10T19:57:37.204+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-10T19:57:37.204+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lucene" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>Lucis upgraded to Lucene 3.5</title><content type="html">Well, at last the jump was made, and based on the previous &lt;a href="http://blog.derquinse.net/2011/09/lucis-branch-for-lucene-29x.html"&gt;2.9.x branch&lt;/a&gt;, the migration to &lt;a href="http://lucene.apache.org/java/3_5_0/"&gt;Lucene 3.5&lt;/a&gt; has been done with version 3.5.2 &lt;a href="http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22lucis%22"&gt;now available in central&lt;/a&gt;. Apart from the migration work, the most significant changes include:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Writer configuration suppliers, to deal with the fact that certain Lucene objects, such as merge policies, can't be shared.&lt;/li&gt;
&lt;li&gt;Managed readers, not based on the new searcher manager, but integrated with the lucis store architecture.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-565002173892291243?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c6VaGDMhBq2TMtDWbOpQma0fsEE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c6VaGDMhBq2TMtDWbOpQma0fsEE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c6VaGDMhBq2TMtDWbOpQma0fsEE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c6VaGDMhBq2TMtDWbOpQma0fsEE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/565002173892291243/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=565002173892291243" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/565002173892291243?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/565002173892291243?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/12/lucis-upgraded-to-lucene-35.html" title="Lucis upgraded to Lucene 3.5" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C08DRns-eSp7ImA9WhdVFUU.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-5552724543028650179</id><published>2011-09-21T07:11:00.000+02:00</published><updated>2011-09-21T07:11:17.551+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T07:11:17.551+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lucene" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>A Lucis branch for Lucene 2.9.x</title><content type="html">As a said in the &lt;a href="http://blog.derquinse.net/2011/09/lucis-update.html"&gt;previous entry&lt;/a&gt;, the upgrade to Lucene 3.x may take longer than expected, so to provide an evolution path, a branch based on Lucene 2.9.x has just been &lt;a href="http://lucis.sourceforge.net/maven2/net/sf/lucis/lucis/2.9.5/"&gt;released&lt;/a&gt; (version 2.9.5, based on &lt;a href="http://lucene.apache.org/java/2_9_4/"&gt;Lucene 2.9.4&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
It is not a mere recompile. Use of deprecated methods has been removed and the new &lt;a href="http://lucene.apache.org/java/2_9_4/api/core/org/apache/lucene/search/Collector.html"&gt;collectors&lt;/a&gt; has been put in use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-5552724543028650179?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f5rAF_I1OM9oeS-ZYPP17M_sabE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5rAF_I1OM9oeS-ZYPP17M_sabE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f5rAF_I1OM9oeS-ZYPP17M_sabE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5rAF_I1OM9oeS-ZYPP17M_sabE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/5552724543028650179/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=5552724543028650179" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5552724543028650179?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5552724543028650179?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/09/lucis-branch-for-lucene-29x.html" title="A Lucis branch for Lucene 2.9.x" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEEHRXo8eSp7ImA9WhdVFUk.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-6191196455155037361</id><published>2011-09-16T19:59:00.000+02:00</published><updated>2011-09-20T21:23:54.471+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-20T21:23:54.471+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>A Lucis update</title><content type="html">After a too long period of inactivity at last we have a significant update to &lt;a href="http://sourceforge.net/projects/lucis/"&gt;Lucis&lt;/a&gt;. The &lt;a href="http://blog.derquinse.net/2011/05/revisiting-lucis.html"&gt;migration&lt;/a&gt; to &lt;a href="http://lucene.apache.org/java"&gt;Lucene&lt;/a&gt; 3.x has been put on hold to work on some more important changes (and I don't know if it will happen before the move to Lucis' &lt;a href="http://code.google.com/p/conquiris/"&gt;successor&lt;/a&gt; project). So, to avoid confusion, version numbering has changed so that the first two numbers match those of the &lt;a href="http://lucene.apache.org/java"&gt;Lucene&lt;/a&gt; version used.&lt;br /&gt;
&lt;br /&gt;
I have just released version 2.4.31 (should be in central soon), the main changes being:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Reindexing indexes can now hold a checkpoint.&lt;/li&gt;
&lt;li&gt;Reindexing indexes can know decide to skip a run.&lt;/li&gt;
&lt;li&gt;Cancellation policy for index services has been defined, using interruptions, providing graceful shutdowns. As always for all your java concurrency-related questions, go to the &lt;a href="http://www.amazon.com/gp/product/0321349601/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=diviintoaninf-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321349601"&gt;source&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It is know possible to use external &lt;a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html"&gt;executors&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Many more tests.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Also, as of this version, the javadoc is no longer uploaded to the repository, as it can be built from source, but the relevant parts are &lt;a href="http://lucis.sourceforge.net/apidocs/"&gt;online&lt;/a&gt; for your reading convenience.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE:&lt;/b&gt; Already in &lt;a href="http://search.maven.org/#artifactdetails%7Cnet.sf.lucis%7Clucis%7C2.4.31%7Cpom"&gt;Central&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-6191196455155037361?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_W1Jbz2y6kdzge7ehaU1_hvdtEI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_W1Jbz2y6kdzge7ehaU1_hvdtEI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_W1Jbz2y6kdzge7ehaU1_hvdtEI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_W1Jbz2y6kdzge7ehaU1_hvdtEI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/6191196455155037361/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=6191196455155037361" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6191196455155037361?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6191196455155037361?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/09/lucis-update.html" title="A Lucis update" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;C0MARHc_cCp7ImA9WhdQGEs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-8153239226611251678</id><published>2011-08-20T19:30:00.000+02:00</published><updated>2011-08-20T19:30:45.948+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-20T19:30:45.948+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Stick to version 2.0 of Maven Release Plugin</title><content type="html">As reflected on bugs &lt;a href="http://jira.codehaus.org/browse/MRELEASE-694"&gt;MRELEASE-694&lt;/a&gt; (related to&amp;nbsp;&lt;a href="http://jira.codehaus.org/browse/MRELEASE-689"&gt;MRELEASE-689&lt;/a&gt; and&amp;nbsp;&lt;a href="http://jira.codehaus.org/browse/MRELEASE-691"&gt;MRELEASE-691&lt;/a&gt;), there are some problems generating the release version numbers (like maintaining SNAPSHOT). This may bite without notice if use non-interactive mode. These bugs are still open as of version 2.2.1.&lt;br /&gt;
&lt;br /&gt;
It's a nice coincidence that because of &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=346725"&gt;another bug&lt;/a&gt;, the &lt;a href="http://www.eclipse.org/m2e/"&gt;Maven Eclipse Plugin&lt;/a&gt; warns you if you use a &lt;a href="http://maven.apache.org/plugins/maven-release-plugin/"&gt;Maven Release Plugin&lt;/a&gt; version other than 2.0 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-8153239226611251678?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G3icbKQni0jUzQB4pN2JGwHGh7I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G3icbKQni0jUzQB4pN2JGwHGh7I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G3icbKQni0jUzQB4pN2JGwHGh7I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G3icbKQni0jUzQB4pN2JGwHGh7I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/8153239226611251678/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=8153239226611251678" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8153239226611251678?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8153239226611251678?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/08/stick-to-version-20-of-maven-release.html" title="Stick to version 2.0 of Maven Release Plugin" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YDSXg6eCp7ImA9WhZVEEs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-6593104194384515681</id><published>2011-05-22T13:52:00.000+02:00</published><updated>2011-05-22T13:52:58.610+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-22T13:52:58.610+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="genews" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="lucene" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>Revisiting Lucis</title><content type="html">The &lt;a href="http://sourceforge.net/projects/lucis/"&gt;lucis project&lt;/a&gt; is a key component of &lt;a href="http://www.publico.es/"&gt;an&lt;/a&gt; &lt;a href="http://www.juntadeandalucia.es/presidencia/portavoz/"&gt;increasing&lt;/a&gt; &lt;a href="http://www.juntadeandalucia.es/obraspublicasyvivienda"&gt;number&lt;/a&gt; &lt;a href="http://www.juntadeandalucia.es/agriculturaypesca/ifapa"&gt;of&lt;/a&gt; &lt;a href="http://sede.gobcan.es/"&gt;web&lt;/a&gt; &lt;a href="http://www.moodyo.com/"&gt;sites&lt;/a&gt;. However, it is starting to show its age. Rushed into production in the summer of 2008 it included some "incorrect" decisions that were to be mended in its &lt;a href="http://code.google.com/p/conquiris/"&gt;successor project&lt;/a&gt;, which was also going to include all the important updates. So lucis algo received small evolutions.&lt;br /&gt;
&lt;br /&gt;
However, as the first release of conquiris is delayed again and again, and the number fo projects using lucis increases far more than expected, it is clear that a new impulse was needed.&lt;br /&gt;
&lt;br /&gt;
So today, I've released version 0.0.31 (which should be in &lt;a href="http://search.maven.org/"&gt;Maven Central&lt;/a&gt; in a few hours). The only (but fundamental) change is the upgrade from &lt;a href="http://lucene.apache.org/"&gt;Lucene&lt;/a&gt; &lt;a href="http://lucene.apache.org/java/2_4_1/"&gt;2.4.1&lt;/a&gt; to &lt;a href="http://lucene.apache.org/java/3_1_0/"&gt;3.1.0&lt;/a&gt;. As the new Lucene version already breaks backwards compatibility, I've gone the whole way and removed use of (now) deprecated parts of Lucene. So this version of lucis is totally incompatible with the previous stable one (0.0.29).&lt;br /&gt;
&lt;br /&gt;
I hope to post about the changes real soon now.&lt;br /&gt;
&lt;br /&gt;
As I said, the "only" change is the Lucene version, so this release won't be integrated in &lt;a href="http://code.google.com/p/isotrol-portal/"&gt;Port@l&lt;/a&gt; and &lt;a href="http://www.genews.es/"&gt;GeNews&lt;/a&gt; until more improvements are added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-6593104194384515681?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5q01HV1UX7h1QnqqTl-N2fMDZjM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5q01HV1UX7h1QnqqTl-N2fMDZjM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5q01HV1UX7h1QnqqTl-N2fMDZjM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5q01HV1UX7h1QnqqTl-N2fMDZjM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/6593104194384515681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=6593104194384515681" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6593104194384515681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6593104194384515681?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/05/revisiting-lucis.html" title="Revisiting Lucis" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0AFSHo-fip7ImA9WhZVEE0.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-8866668852350504841</id><published>2011-05-21T22:28:00.000+02:00</published><updated>2011-05-21T22:28:39.456+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-21T22:28:39.456+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="meta" /><title>New Look</title><content type="html">Three years after the &lt;a href="http://blog.derquinse.net/2008/05/first-post.html"&gt;First Post&lt;/a&gt;, I've decided to give this blog a new look, maybe as a first step in posting more often.&lt;br /&gt;
&lt;br /&gt;
So, I've turned to the &lt;a href="http://bloggerindraft.blogspot.com/2010/03/blogger-template-designer.html"&gt;Blogger Template Designer&lt;/a&gt;, chosen a clear and simple one, removed most ads, and converted code snippets to &lt;a href="http://gist.github.com/"&gt;Gist.GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I hope you like it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-8866668852350504841?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vx9IctoENEo0ypPFWHaJEMJJUVk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vx9IctoENEo0ypPFWHaJEMJJUVk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vx9IctoENEo0ypPFWHaJEMJJUVk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vx9IctoENEo0ypPFWHaJEMJJUVk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/8866668852350504841/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=8866668852350504841" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8866668852350504841?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8866668852350504841?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/05/new-look.html" title="New Look" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEUMQno8eyp7ImA9Wx9aFE4.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-7103179876982203416</id><published>2011-03-06T19:31:00.000+01:00</published><updated>2011-03-06T19:31:23.473+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-06T19:31:23.473+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="startup" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><title>Great presentation for entrepeneurs</title><content type="html">&lt;div style="width:425px" id="__ss_3966965"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adamsmith1/from-zero-to-a-million-users-dropbox-and-xobni-lessons-learned" title="From Zero to a Million Users - Dropbox and Xobni lessons learned"&gt;From Zero to a Million Users - Dropbox and Xobni lessons learned&lt;/a&gt;&lt;/strong&gt; &lt;object id="__sse3966965" width="425" height="355"&gt; &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=web2-0talkcopy-dhversion-withfontfinal-100504124328-phpapp02&amp;stripped_title=from-zero-to-a-million-users-dropbox-and-xobni-lessons-learned&amp;userName=adamsmith1" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse3966965" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=web2-0talkcopy-dhversion-withfontfinal-100504124328-phpapp02&amp;stripped_title=from-zero-to-a-million-users-dropbox-and-xobni-lessons-learned&amp;userName=adamsmith1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adamsmith1"&gt;Adam Smith&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-7103179876982203416?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jMyY0WqFH3YqRZSEhPzFZG9abQI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jMyY0WqFH3YqRZSEhPzFZG9abQI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jMyY0WqFH3YqRZSEhPzFZG9abQI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jMyY0WqFH3YqRZSEhPzFZG9abQI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/7103179876982203416/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=7103179876982203416" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/7103179876982203416?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/7103179876982203416?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/03/great-presentation-for-entrepeneurs.html" title="Great presentation for entrepeneurs" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0UCSH84eSp7ImA9Wx9WGE0.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-960844267689491771</id><published>2011-01-23T17:47:00.000+01:00</published><updated>2011-01-23T17:47:49.131+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-23T17:47:49.131+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="gadget" /><category scheme="http://www.blogger.com/atom/ns#" term="github" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="gist" /><title>Gist.GitHub Gadget</title><content type="html">Some months ago I wanted to embed some code snippets stored in &lt;a href="http://gist.github.com/"&gt;Gist.GitHub&lt;/a&gt; in some &lt;a href="http://sites.google.com/"&gt;Google Sites&lt;/a&gt;-based documentation, just to find that you cannot use the script tag directly. So, I decided to wrap the embedding code in a &lt;a href="http://www.google.com/webmasters/gadgets/"&gt;Google Gadget&lt;/a&gt;. You can find it &lt;a href="http://gadgets.derquinse.net/gist-github"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-960844267689491771?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7-Aa6t8yKICqsAeflKIyNqyhWJ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7-Aa6t8yKICqsAeflKIyNqyhWJ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7-Aa6t8yKICqsAeflKIyNqyhWJ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7-Aa6t8yKICqsAeflKIyNqyhWJ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/960844267689491771/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=960844267689491771" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/960844267689491771?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/960844267689491771?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2011/01/gistgithub-gadget.html" title="Gist.GitHub Gadget" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0IMQn87eip7ImA9Wx9TGUs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-7511734322939941281</id><published>2010-11-28T18:31:00.001+01:00</published><updated>2010-11-28T18:33:03.102+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-28T18:33:03.102+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="portal" /><category scheme="http://www.blogger.com/atom/ns#" term="es" /><title>Port@l 3.0 en la LSWC</title><content type="html">Sé que voy con un poco de retraso, pero más vale tarde que nunca. Sólo comentar que el pasado 27 de octubre participé en mesa redonda "Soluciones Web Avanzadas" dentro de la &lt;a href="http://www.libresoftwareworldconference.org/"&gt;Libre Software World Conference&lt;/a&gt;, con una breve presentación sobre Port@l 3.0. Podéis encontrar la presentación aquí embebida y en el siguiente &lt;a href="http://slidesha.re/goy8w8"&gt;enlace&lt;/a&gt;.&lt;br /&gt;
&lt;div id="__ss_5789442" style="width: 425px;"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/andresrc/is-5789442" title="Port@l 3.0 en la LSWC"&gt;Port@l 3.0 en la LSWC&lt;/a&gt;&lt;/strong&gt;&lt;object height="355" id="__sse5789442" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=isotrol-portl3-0lswc-101115170545-phpapp02&amp;stripped_title=is-5789442&amp;userName=andresrc" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse5789442" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=isotrol-portl3-0lswc-101115170545-phpapp02&amp;stripped_title=is-5789442&amp;userName=andresrc" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/andresrc"&gt;andresrc&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-7511734322939941281?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CY-KLRSp2cnFluYU4Abty66aEro/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CY-KLRSp2cnFluYU4Abty66aEro/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CY-KLRSp2cnFluYU4Abty66aEro/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CY-KLRSp2cnFluYU4Abty66aEro/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/7511734322939941281/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=7511734322939941281" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/7511734322939941281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/7511734322939941281?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/11/portl-30-en-la-lswc.html" title="Port@l 3.0 en la LSWC" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkQBRns5cCp7ImA9WxFaEU4.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-4122055950416340718</id><published>2010-07-14T21:05:00.000+02:00</published><updated>2010-07-14T21:05:57.528+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-14T21:05:57.528+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>Permgen problems and Running Eclipse on Java 1.6 update 21</title><content type="html">See this &lt;a href="http://aniefer.blogspot.com/2010/07/permgen-problems-and-running-eclipse-on.html"&gt;post&lt;/a&gt;. Reposted here for future reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-4122055950416340718?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FrLugDeVsyE2K4ql2Ss3qXpKu-M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FrLugDeVsyE2K4ql2Ss3qXpKu-M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FrLugDeVsyE2K4ql2Ss3qXpKu-M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FrLugDeVsyE2K4ql2Ss3qXpKu-M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/4122055950416340718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=4122055950416340718" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4122055950416340718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4122055950416340718?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/07/permgen-problems-and-running-eclipse-on.html" title="Permgen problems and Running Eclipse on Java 1.6 update 21" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEACRn05cCp7ImA9WxFbFEg.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-752270819990275420</id><published>2010-07-06T23:46:00.000+02:00</published><updated>2010-07-06T23:46:07.328+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-06T23:46:07.328+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="hibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="derquinse-commons" /><category scheme="http://www.blogger.com/atom/ns#" term="orm" /><title>New Home...</title><content type="html">... for this blog (sort of) and my common &lt;a href="http://java.sun.com/"&gt;Java&lt;/a&gt; libraries.&lt;br /&gt;
&lt;br /&gt;
Some months ago I bought the domain &lt;a href="http://www.whois.net/whois/derquinse.net"&gt;derquinse.net&lt;/a&gt; and started a new incarnation of my &lt;a href="http://sourceforge.net/projects/derquinsej/"&gt;common Java libraries&lt;/a&gt;, now called &lt;a href="http://code.google.com/p/derquinse-commons/"&gt;derquinse-commons&lt;/a&gt;,&amp;nbsp;hosted on &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt;, and based on &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;'s &lt;a href="http://code.google.com/p/guava-libraries/"&gt;guava-libraries&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
But is hasn't been until recently that I have configured this blog to use the&amp;nbsp;&lt;a href="http://blog.derquinse.net/"&gt;new domain&lt;/a&gt;, and performed the first releases (in plural, as the different subprojects are now released independently), which may be found in the &lt;a href="http://derquinse-m2.googlecode.com/svn/trunk/m2/"&gt;Maven Repository&lt;/a&gt; (that, as of now, will not be synchronized with &lt;a href="http://repo1.maven.org/maven2/"&gt;Central&lt;/a&gt; as there are dependencies that are not part of it). Right now, I've released:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="ttp://code.google.com/p/derquinse-commons/source/browse/#svn/tags/derquinse-common-base-1.0.0"&gt;derquinse-commons-base 1.0.0&lt;/a&gt;: Base libraries.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/derquinse-commons/source/browse/#svn/tags/derquinse-common-orm-1.0.1"&gt;derquinse-commons-orm 1.0.1&lt;/a&gt;: Base object/relational libraries.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/derquinse-commons/source/browse/#svn/tags/derquinse-common-orm-hib3-1.0.1"&gt;derquinse-commons-orm-hib3 1.0.1&lt;/a&gt;: &lt;a href="http://www.hibernate.org/"&gt;Hibernate&lt;/a&gt; 3.5 implementation of the ORM module.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Besides some common POMs. The collections module will be next, with Hierarchy and friends.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Stay tuned.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-752270819990275420?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y5284_askUVNRQQ95aKltxShcmQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y5284_askUVNRQQ95aKltxShcmQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y5284_askUVNRQQ95aKltxShcmQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y5284_askUVNRQQ95aKltxShcmQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/752270819990275420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=752270819990275420" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/752270819990275420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/752270819990275420?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/07/new-home.html" title="New Home..." /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUcFRHs-eCp7ImA9WxFbFkg.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-5653685198725202019</id><published>2010-05-06T08:34:00.001+02:00</published><updated>2010-07-09T08:30:15.550+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-09T08:30:15.550+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="es" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>El Androide Libre sortea un Nexus One</title><content type="html">Pues lo dicho, el blog en español dedicado a &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; &lt;a href="http://www.elandroidelibre.com/"&gt;El Androide Libre&lt;/a&gt; sortea un &lt;a href="http://www.google.com/phone"&gt;Nexus One&lt;/a&gt;. Podeis encontrar las bases en el siguiente &lt;a href="http://www.elandroidelibre.com/2010/04/el-gran-sorte-de-el-androide-libre.html"&gt;post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-5653685198725202019?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uMayrE3lW9Qv8AH3kSr0Ppe5tAM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uMayrE3lW9Qv8AH3kSr0Ppe5tAM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uMayrE3lW9Qv8AH3kSr0Ppe5tAM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uMayrE3lW9Qv8AH3kSr0Ppe5tAM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/5653685198725202019/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=5653685198725202019" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5653685198725202019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5653685198725202019?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/05/el-androide-libre-sortea-un-nexus-one.html" title="El Androide Libre sortea un Nexus One" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0EGRH05fip7ImA9Wx9TGUs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-6976268122791522093</id><published>2010-04-17T13:56:00.002+02:00</published><updated>2010-11-28T18:33:45.326+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-28T18:33:45.326+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><title>Chirp 2010: Scaling Twitter</title><content type="html">Check out this SlideShare Presentation. Really interesting.&lt;br /&gt;
&lt;div id="__ss_3747027" style="width: 425px;"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/netik/billions-of-hits-scaling-twitter" title="Chirp 2010: Scaling Twitter"&gt;Chirp 2010: Scaling Twitter&lt;/a&gt;&lt;/strong&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=johnadams-scalingtwitter-100416061113-phpapp01&amp;stripped_title=billions-of-hits-scaling-twitter" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=johnadams-scalingtwitter-100416061113-phpapp01&amp;stripped_title=billions-of-hits-scaling-twitter" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/netik"&gt;John Adams&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-6976268122791522093?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dzk5r4_OLth1pQ9UIY3wnnu17qU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dzk5r4_OLth1pQ9UIY3wnnu17qU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dzk5r4_OLth1pQ9UIY3wnnu17qU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dzk5r4_OLth1pQ9UIY3wnnu17qU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/6976268122791522093/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=6976268122791522093" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6976268122791522093?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/6976268122791522093?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/04/chirp-2010-scaling-twitter.html" title="Chirp 2010: Scaling Twitter" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUIAQXc6fip7ImA9WxBXFE4.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-2708684620104700636</id><published>2010-01-25T17:39:00.000+01:00</published><updated>2010-01-25T17:39:00.916+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-25T17:39:00.916+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="databases" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="graph" /><title>Trees in Relational Databases</title><content type="html">The presentation below by &lt;a href="http://www.alberton.info/"&gt;Lorenzo Alberton&lt;/a&gt; is one of the best references I've seen on how to model a &lt;a href="http://en.wikipedia.org/wiki/Tree_(data_structure)"&gt;tree&lt;/a&gt; in a &lt;a href="http://en.wikipedia.org/wiki/Relational_database"&gt;relational database&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div id="__ss_1599248" style="text-align: left; width: 425px;"&gt;&lt;a href="http://www.slideshare.net/quipo/trees-in-the-database-advanced-data-structures" style="display: block; font: 14px Helvetica,Arial,Sans-serif; margin: 12px 0 3px 0; text-decoration: underline;" title="Trees In The Database - Advanced data structures"&gt;Trees In The Database - Advanced data structures&lt;/a&gt;&lt;object height="355" style="margin: 0px;" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=treesinthedatabase-slideshare-090617144655-phpapp01&amp;stripped_title=trees-in-the-database-advanced-data-structures" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=treesinthedatabase-slideshare-090617144655-phpapp01&amp;stripped_title=trees-in-the-database-advanced-data-structures" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;"&gt;View more &lt;a href="http://www.slideshare.net/" style="text-decoration: underline;"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/quipo" style="text-decoration: underline;"&gt;Lorenzo Alberton&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
It is perfectly known that relational databases are not the best repository for tree-like (or even &lt;a href="http://en.wikipedia.org/wiki/Graph_(data_structure)"&gt;graph&lt;/a&gt;-like) data structures, but there are many times that you have no other chance, so it's good to know your options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-2708684620104700636?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e6Jo_vCZOfXtNG_6H4Z4QDZpTY0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e6Jo_vCZOfXtNG_6H4Z4QDZpTY0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e6Jo_vCZOfXtNG_6H4Z4QDZpTY0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e6Jo_vCZOfXtNG_6H4Z4QDZpTY0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/2708684620104700636/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=2708684620104700636" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2708684620104700636?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2708684620104700636?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2010/01/trees-in-relational-databases.html" title="Trees in Relational Databases" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DEcCRnkyeSp7ImA9WxBTFkQ.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-2976375724896376230</id><published>2009-12-12T20:48:00.001+01:00</published><updated>2009-12-13T10:21:07.791+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-13T10:21:07.791+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="pl" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Is it time to go stackless?</title><content type="html">As a follow-up on Guy Steele's &lt;a href="http://projectfortress.sun.com/Projects/Community/blog/ObjectOrientedTailRecursion"&gt;post&amp;nbsp;on tail recursion&lt;/a&gt; referenced on my &lt;a href="http://reddal.blogspot.com/2009/12/tail-calls-in-ools.html"&gt;last one&lt;/a&gt; and &lt;a href="http://scholar.google.com/scholar?hl=en&amp;amp;lr=&amp;amp;q=info:a9XjRvhJGiQJ:scholar.google.com/&amp;amp;output=search"&gt;Cook's paper&lt;/a&gt;, there's another interesting post by &lt;a href="http://en.wikipedia.org/wiki/Gilad_Bracha"&gt;Gilad Bracha&lt;/a&gt; that made me wonder: is it time to go stackless?&lt;br /&gt;
&lt;br /&gt;
The stack, as an optimization for call convention is deeply rooted into greatly extended instruction sets. But now, with the amounts of RAM and CPU power available and the really cheap short-lived object allocation time in modern VMs, I think we could afford it, at least for high level languages.&lt;br /&gt;
&lt;br /&gt;
Back in my &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;&amp;nbsp;days, I remember &lt;a href="http://www.stackless.com/"&gt;Stackless Python&lt;/a&gt;, an implementation of this programming language with support for &lt;a href="http://en.wikipedia.org/wiki/Continuation"&gt;continuations&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Generator_(computer_science)"&gt;generators&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Coroutines"&gt;coroutines&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
And this would be only the beginning...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-2976375724896376230?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_49tx_UXfccagYd5VyTMr8pTkys/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_49tx_UXfccagYd5VyTMr8pTkys/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_49tx_UXfccagYd5VyTMr8pTkys/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_49tx_UXfccagYd5VyTMr8pTkys/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/2976375724896376230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=2976375724896376230" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2976375724896376230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2976375724896376230?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/12/is-it-time-to-go-stackless.html" title="Is it time to go stackless?" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C0IBSXY6eyp7ImA9WxBTEUU.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-4875853904621167412</id><published>2009-12-07T11:25:00.000+01:00</published><updated>2009-12-07T11:25:58.813+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-07T11:25:58.813+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="pl" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Tail calls in OOLs</title><content type="html">&lt;a href="http://reddal.blogspot.com/2009/12/readings-on-dec-5th-2009.html"&gt;Yesterday&lt;/a&gt;'s &lt;a href="http://scholar.google.com/scholar?hl=en&amp;amp;lr=&amp;amp;q=info:a9XjRvhJGiQJ:scholar.google.com/&amp;amp;output=search"&gt;paper&lt;/a&gt; is also related to a very interesting &lt;a href="http://projectfortress.sun.com/Projects/Community/blog/ObjectOrientedTailRecursion"&gt;post&lt;/a&gt; by &lt;a href="http://en.wikipedia.org/wiki/Guy_Steele"&gt;Guy L. Steele Jr&lt;/a&gt;. on the need of tail calls on object-oriented languages. A rather polemic issue with strong proponents (such as Guy) and detractors, like &lt;a href="http://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html"&gt;Guido Van Rossum&lt;/a&gt;, &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;'s creator.&lt;br /&gt;
&lt;br /&gt;
I'm sure more interesting contributions will follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-4875853904621167412?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DHXQ2RjebxJhdUO_z3t84GQlbuc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DHXQ2RjebxJhdUO_z3t84GQlbuc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DHXQ2RjebxJhdUO_z3t84GQlbuc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DHXQ2RjebxJhdUO_z3t84GQlbuc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/4875853904621167412/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=4875853904621167412" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4875853904621167412?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4875853904621167412?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/12/tail-calls-in-ools.html" title="Tail calls in OOLs" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkcFRXs6fyp7ImA9WxBTEU8.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-5218321191652837648</id><published>2009-12-06T20:33:00.001+01:00</published><updated>2009-12-06T20:33:34.517+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-06T20:33:34.517+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="types" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="pl" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Readings on Dec 6th 2009</title><content type="html">Today's reading has been &lt;a href="http://scholar.google.com/scholar?hl=en&amp;amp;lr=&amp;amp;q=info:a9XjRvhJGiQJ:scholar.google.com/&amp;amp;output=search"&gt;"On Understanding Data Abstraction, Revisited"&lt;/a&gt; by &lt;a href="http://www.cs.utexas.edu/~wcook/"&gt;William R. Cook&lt;/a&gt;. It has really been an eye-opener on the differences between &lt;a href="http://en.wikipedia.org/wiki/Abstract_data_type"&gt;abstract data types&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Object_(computer_science)"&gt;objects&lt;/a&gt;, and it have helped me &amp;nbsp;understand the implication of the different approaches taken by different programming languages.&lt;br /&gt;
&lt;br /&gt;
Highly recommended.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-5218321191652837648?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xrDxe6DdevPZr_09DCuGhYYeJ_k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xrDxe6DdevPZr_09DCuGhYYeJ_k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xrDxe6DdevPZr_09DCuGhYYeJ_k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xrDxe6DdevPZr_09DCuGhYYeJ_k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/5218321191652837648/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=5218321191652837648" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5218321191652837648?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/5218321191652837648?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/12/readings-on-dec-5th-2009.html" title="Readings on Dec 6th 2009" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0AAR345eyp7ImA9WxNVFEs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-3721578455797146187</id><published>2009-10-25T12:14:00.003+01:00</published><updated>2009-10-25T12:22:26.023+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-25T12:22:26.023+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="lucene" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>Lucene 2.9.0</title><content type="html">A few weeks ago &lt;a href="http://lucene.apache.org"&gt;Lucene&lt;/a&gt; 2.9.0 was released. The list of &lt;a href="http://lucene.apache.org/java/2_9_0/changes/Changes.html"&gt;changes&lt;/a&gt; is impressive, and it's certainly an interim release paving the way to release 3.0, where I suppose many of the now deprecated methods will start to disappear.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the most interesting changes for me is &lt;a href="http://issues.apache.org/jira/browse/LUCENE-1382"&gt;LUCENE-1382&lt;/a&gt;, which will greatly simplify checkpoint management in &lt;a href="http://sourceforge.net/projects/lucis/"&gt;lucis&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Looking forward to 3.0. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-3721578455797146187?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n37QLlQ8XBP7Kd2hicFdOucqRc0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n37QLlQ8XBP7Kd2hicFdOucqRc0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n37QLlQ8XBP7Kd2hicFdOucqRc0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n37QLlQ8XBP7Kd2hicFdOucqRc0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/3721578455797146187/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=3721578455797146187" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/3721578455797146187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/3721578455797146187?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/10/lucene-290.html" title="Lucene 2.9.0" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CUUEQng4eyp7ImA9WxNREUs.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-8481865672187179717</id><published>2009-09-05T17:00:00.002+02:00</published><updated>2009-09-05T17:06:43.633+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-05T17:06:43.633+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="haskell" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Functional dependencies</title><content type="html">Regarding &lt;a href="http://reddal.blogspot.com/2009/09/papers.html"&gt;papers&lt;/a&gt;, yesterday's read was &lt;a href="http://web.cecs.pdx.edu/~mpj/pubs/fundeps.html"&gt;Type Classes with Functional Dependencies&lt;/a&gt; by &lt;a href="http://web.cecs.pdx.edu/~mpj/"&gt;Mark P. Jones&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Quite interesting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-8481865672187179717?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z3WbCNvrI2B51JjTzdItdZ-xrfE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3WbCNvrI2B51JjTzdItdZ-xrfE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z3WbCNvrI2B51JjTzdItdZ-xrfE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3WbCNvrI2B51JjTzdItdZ-xrfE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/8481865672187179717/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=8481865672187179717" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8481865672187179717?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/8481865672187179717?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/09/functional-dependencies.html" title="Functional dependencies" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMMQH88fip7ImA9WxNREUg.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-229714953383724124</id><published>2009-09-05T15:05:00.003+02:00</published><updated>2009-09-05T15:14:41.176+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-05T15:14:41.176+02:00</app:edited><title>CUFP 2009 Keynote</title><content type="html">Bryan O’Sullivan is one of the authors of the &lt;a href="http://book.realworldhaskell.org/"&gt;book&lt;/a&gt; &lt;a href="http://www.amazon.com/dp/0596514980/?tag=diviintoaninf-20"&gt;Real World Haskell&lt;/a&gt;, and he's given the keynote at &lt;a href="http://cufp.galois.com/"&gt;CUFP&lt;/a&gt; &lt;a href="http://cufp.galois.com/2009/main.html"&gt;2009&lt;/a&gt;. &lt;div style="width:425px;text-align:left" id="__ss_1953540"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/bos31337/cufp-2009-keynote-real-world-haskell" title="CUFP 2009 Keynote - Real World Haskell"&gt;CUFP 2009 Keynote - Real World Haskell&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cufp-090904160232-phpapp02&amp;stripped_title=cufp-2009-keynote-real-world-haskell" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cufp-090904160232-phpapp02&amp;stripped_title=cufp-2009-keynote-real-world-haskell" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/bos31337"&gt;Bryan O&amp;rsquo;Sullivan&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;I really liked the presentation.&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-229714953383724124?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7OJCfaxpqN7c2Xc0BLiTElVUhtI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7OJCfaxpqN7c2Xc0BLiTElVUhtI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7OJCfaxpqN7c2Xc0BLiTElVUhtI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7OJCfaxpqN7c2Xc0BLiTElVUhtI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/229714953383724124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=229714953383724124" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/229714953383724124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/229714953383724124?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/09/cufp-2009-keynote.html" title="CUFP 2009 Keynote" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkAHQnszeCp7ImA9WxNREUg.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-2620578040230463251</id><published>2009-09-05T14:36:00.004+02:00</published><updated>2009-09-05T14:45:33.580+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-05T14:45:33.580+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="en" /><title>Papers</title><content type="html">Over the last years I've become an avid reader of &lt;a href="http://en.wikipedia.org/wiki/Academic_publishing#Scholarly_paper"&gt;papers&lt;/a&gt;. As the time goes by, I start to have heaps of PDF files scattered through multiple files and computers, unable to find anything.&lt;div&gt;A few years ago I &lt;a href="http://arstechnica.com/apple/news/2007/03/minireview-papers-for-os-x.ars"&gt;read&lt;/a&gt; in &lt;a href="http://arstechnica.com/"&gt;Ars Technica&lt;/a&gt; about &lt;a href="http://mekentosj.com/papers/"&gt;Papers&lt;/a&gt;, a software package that seemed to fulfill all my paper archiving needs :). However, it wasn't until last month that I gave it a try and I only regret not having donde so earlier. Its matching capabilities, search engine and spotlight integration are really wonderful. It is really the iTunes of academic papers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Highly recommended.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-2620578040230463251?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Euc6k0z-xmYK2LU7IWjLm1etI6Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Euc6k0z-xmYK2LU7IWjLm1etI6Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Euc6k0z-xmYK2LU7IWjLm1etI6Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Euc6k0z-xmYK2LU7IWjLm1etI6Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/2620578040230463251/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=2620578040230463251" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2620578040230463251?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/2620578040230463251?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/09/papers.html" title="Papers" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C08GQ3s8fyp7ImA9WhZVEE0.&quot;"><id>tag:blogger.com,1999:blog-2614191351277448363.post-4873663390937798284</id><published>2009-07-28T20:41:00.011+02:00</published><updated>2011-05-21T20:17:02.577+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-21T20:17:02.577+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="lucene" /><category scheme="http://www.blogger.com/atom/ns#" term="en" /><category scheme="http://www.blogger.com/atom/ns#" term="lucis" /><title>Counting and Grouping Queries in Lucene</title><content type="html">When using a &lt;a href="http://lucene.apache.org/"&gt;Lucene&lt;/a&gt; index to look up some information you have access to some querying facilities not found in other kind of repositories. However, in a classical trade-off, you lose some features such as the aggregate queries &lt;a href="http://en.wikipedia.org/wiki/Sql#Queries"&gt;easily performed in relational databases&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Anyway, if you need to perform this kind of operations, they may be easily implemented using &lt;a href="http://lucene.apache.org/java/2_4_1/api/core/org/apache/lucene/search/HitCollector.html"&gt;hit collectors&lt;/a&gt;. So, I've included in &lt;a href="http://sourceforge.net/projects/lucis/"&gt;lucis&lt;/a&gt; two simple operations, counting and grouping results:&lt;/div&gt;&lt;br /&gt;
&lt;script src="https://gist.github.com/984740.js?file=gistfile1.java"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
The LucisQuery object is used to decouple index control policy (when to open and close it, etc) from the queries themselves.&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The counting query just needs the Lucene query to perform and the (optional) filter to apply. The result holds the number of documents found and the time the query needed.&lt;/div&gt;&lt;div&gt;For the grouping query you must provide the list of field names you want to group by (in order) and the query result is the same that the counting query plus the root group (the one corresponding to the first field name), where a group is something like (partial API showed, &lt;a href="http://lucis.svn.sourceforge.net/viewvc/lucis/trunk/lucis/lucis-api/src/main/java/net/sf/derquinse/lucis/Group.java?view=markup"&gt;see the source&lt;/a&gt;):&lt;/div&gt;&lt;br /&gt;
&lt;script src="https://gist.github.com/984741.js?file=Group.java"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;div&gt;So, for each collected value of the provided field you get a child group which itself contains the groups representing the nested fields. The number of hits in a group may not be equal to the sum of the hits in the children groups if any of the fields is multivalued.&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2614191351277448363-4873663390937798284?l=blog.derquinse.net' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2574y6ofGV04HLaUTjDsIVqkM6M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2574y6ofGV04HLaUTjDsIVqkM6M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2574y6ofGV04HLaUTjDsIVqkM6M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2574y6ofGV04HLaUTjDsIVqkM6M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.derquinse.net/feeds/4873663390937798284/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2614191351277448363&amp;postID=4873663390937798284" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4873663390937798284?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2614191351277448363/posts/default/4873663390937798284?v=2" /><link rel="alternate" type="text/html" href="http://blog.derquinse.net/2009/07/counting-and-grouping-queries-in-lucene.html" title="Counting and Grouping Queries in Lucene" /><author><name>Andres Rodriguez</name><uri>https://profiles.google.com/101430733976342022309</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-1FxoXUYG_dM/AAAAAAAAAAI/AAAAAAAAAR8/sTbwF1Mtf68/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry></feed>

