<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>The Chandler Project Blog &#187; Andi Vajda</title>
	<link>http://blog.chandlerproject.org</link>
	<description></description>
	<pubDate>Fri, 09 May 2008 18:05:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>PyLucene without GCJ released</title>
		<link>http://blog.chandlerproject.org/2007/09/24/pylucene-without-gcj-released/</link>
		<comments>http://blog.chandlerproject.org/2007/09/24/pylucene-without-gcj-released/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 19:57:49 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[Chandler Desktop Development]]></category>

		<category><![CDATA[PyLucene]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2007/09/24/pylucene-without-gcj-released/</guid>
		<description><![CDATA[With the GPL&#8217;ing of Java and Lucene&#8217;s pending move to using Java 1.5,
I decided to give PyLucene without gcj a try.                                   [...]]]></description>
			<content:encoded><![CDATA[<p>With the GPL&#8217;ing of Java and <a href="http://lucene.apache.org">Lucene</a>&#8217;s pending <a href="http://mail-archives.apache.org/mod_mbox/lucene-java-dev/200707.mbox/%3cEEDEBD73-4C59-41FA-B6BB-421B8539B5D7@apache.org%3e">move</a> to using Java 1.5,<br />
I decided to give <a href="http://pylucene.osafoundation.org">PyLucene</a> without <a href="http://gcc.gnu.org/java">gcj</a> a try.                                   </p>

<p>One of the best features of gcj is its <a href="http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html">C++ interface</a>. Its ability to expose Java classes as C++ makes it very easy to invoke Java from C++. 
This feature is unique and sorely missed when moving off of gcj.           </p>

<p>The Java Native Invocation Interface makes it possible to invoke Java<br />
classes from C++ but is rather crufty and verbose to use by hand.          </p>

<p>I started by implementing a C++ code generator that generates C++ wrapper<br />
classes that hide all the JNI invocation cruft from the C++ programmer.<br />
These wrapper classes in effect offer a very similar C++ interface to what<br />
is offered by gcj&#8217;s <a href="http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html">CNI</a>.                                                        </p>

<p>While I was implementing this it became apparent that the C++ wrappers for<br />
giving access to Java classes from Python could be generated at the same<br />
time.                                                                           </p>

<p>Eventually, I ended up writing a new C++ code generator, that I called jcc.<br />
JCC is able to generate C++ wrappers for accessing Java classes from Python<br />
and C++.                                                                        </p>

<p>This code generator is now used to generate a new flavor of PyLucene, called<br />
PyLucene with JCC. JCC has no built-in knowledge about Lucene and could be<br />
used to generate wrappers for any Java library that uses similar coding<br />
styles and techniques than the ones used by the Java Lucene developers.         </p>

<p>JCC could in fact become a project of its own. At the moment, it is part of the<br />
PyLucene with JCC source tree.                                                  </p>

<p>The PyLucene source tree got split into two forks, a gcj fork containing the<br />
original PyLucene and a new jcc fork containing the new sources, consisting<br />
mainly of unit tests, samples and the sources to jcc since <em>all</em> of<br />
PyLucene, except for extension code, is now generated by jcc.                   </p>

<p>For more details, please refer to the new README files:                                                      </p>

<ul>   
<li><a href="http://svn.osafoundation.org/pylucene/trunk/README">PyLucene README</a>                        
<li><a href="http://svn.osafoundation.org/pylucene/trunk/jcc/README">PyLucene with JCC README</a>                    
<li><a href="http://svn.osafoundation.org/pylucene/trunk/jcc/jcc/README">jcc README</a>                
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2007/09/24/pylucene-without-gcj-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Receiving notifications about changes to items</title>
		<link>http://blog.chandlerproject.org/2006/03/08/receiving-notifications-about-changes-to-items/</link>
		<comments>http://blog.chandlerproject.org/2006/03/08/receiving-notifications-about-changes-to-items/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 23:09:57 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[Chandler Desktop Development]]></category>

		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/03/08/receiving-notifications-about-changes-to-items/</guid>
		<description><![CDATA[To support the requirements of Chandler, the repository had to implement a richer set of notifications than what was originally offered with attribute monitors.
]]></description>
			<content:encoded><![CDATA[<p>To support the requirements of Chandler, the repository had to implement a richer set of notifications than what was originally offered with <a href="http://blogs.osafoundation.org/chandlerdb/2005/02/using_attribute.html">attribute monitors</a>.<p>
 <a href="http://blog.chandlerproject.org/2006/03/08/receiving-notifications-about-changes-to-items/#more-343" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/03/08/receiving-notifications-about-changes-to-items/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Collection items</title>
		<link>http://blog.chandlerproject.org/2006/03/08/collection-items/</link>
		<comments>http://blog.chandlerproject.org/2006/03/08/collection-items/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 19:42:21 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/03/08/collection-items/</guid>
		<description><![CDATA[A collection item is an item that wraps an abstract set of items or bi-directional item references.
]]></description>
			<content:encoded><![CDATA[<p>A collection item is an item that wraps an <a href="http://blogs.osafoundation.org/chandlerdb/2005/07/abstract_sets_o.html">abstract set</a> of items or bi-directional item references.<p>
 <a href="http://blog.chandlerproject.org/2006/03/08/collection-items/#more-342" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/03/08/collection-items/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyLucene 1.9 released</title>
		<link>http://blog.chandlerproject.org/2006/03/02/pylucene-19-released/</link>
		<comments>http://blog.chandlerproject.org/2006/03/02/pylucene-19-released/#comments</comments>
		<pubDate>Thu, 02 Mar 2006 21:28:25 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[PyLucene]]></category>

		<guid isPermaLink="false">http://wp.osafoundation.org/2006/03/02/pylucene-19-released/</guid>
		<description><![CDATA[Java Lucene 1.9 was finally released this Monday. PyLucene 1.9 is now available.
]]></description>
			<content:encoded><![CDATA[<p>Java Lucene 1.9 was finally <a href="http://lucene.apache.org/#27+February+2006+-+Lucene+Java+1.9+final+available">released</a> this Monday. PyLucene 1.9 is now <a href="http://pylucene.osafoundation.org">available</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/03/02/pylucene-19-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using collection indexes to find items</title>
		<link>http://blog.chandlerproject.org/2006/01/24/using-collection-indexes-to-find-items/</link>
		<comments>http://blog.chandlerproject.org/2006/01/24/using-collection-indexes-to-find-items/#comments</comments>
		<pubDate>Tue, 24 Jan 2006 23:03:22 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/01/24/using-collection-indexes-to-find-items/</guid>
		<description><![CDATA[During last week&#8217;s sprints I was asked to see how easy it was to import mail into Chandler from a local mailbox. Thanks to Python&#8217;s mailbox and email packages, the mailbox parsing was trivial. Similarly, Chandler&#8217;s domain model can represent email items and has a number of APIs that make creating such items from a [...]]]></description>
			<content:encoded><![CDATA[<p>During last week&#8217;s sprints I was asked to see how easy it was to import mail into Chandler from a local mailbox. Thanks to Python&#8217;s <a href="http://www.python.org/doc/2.4.2/lib/module-mailbox.html">mailbox</a> and <a href="http://www.python.org/doc/2.4.2/lib/module-email.html">email</a> packages, the mailbox parsing was trivial. Similarly, Chandler&#8217;s domain model can represent email items and has a number of APIs that make creating such items from a raw email string very easy.<p>
 <a href="http://blog.chandlerproject.org/2006/01/24/using-collection-indexes-to-find-items/#more-341" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/01/24/using-collection-indexes-to-find-items/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New posts on the chandlerdb blog</title>
		<link>http://blog.chandlerproject.org/2006/01/23/new-posts-on-the-chandlerdb-blog/</link>
		<comments>http://blog.chandlerproject.org/2006/01/23/new-posts-on-the-chandlerdb-blog/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 23:45:35 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[Chandler Desktop Development]]></category>

		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://wp.osafoundation.org/2006/01/23/new-posts-on-the-chandlerdb-blog/</guid>
		<description><![CDATA[It&#8217;s been a while since I posted anything on the chandlerdb blog. That is now corrected with a few new posts about repository backup, recent performance improvements and version purging.
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I posted anything on the <a href="http://blogs.osafoundation.org/chandlerdb/">chandlerdb</a> blog. That is now corrected with a few new posts about repository <a href="http://blogs.osafoundation.org/chandlerdb/2006/01/backing_up_and.html">backup</a>, recent <a href="http://blogs.osafoundation.org/chandlerdb/2006/01/performance_imp.html">performance improvements</a> and <a href="http://blogs.osafoundation.org/chandlerdb/2006/01/reclaiming_repo.html">version purging</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/01/23/new-posts-on-the-chandlerdb-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reclaiming repository disk space</title>
		<link>http://blog.chandlerproject.org/2006/01/23/reclaiming-repository-disk-space/</link>
		<comments>http://blog.chandlerproject.org/2006/01/23/reclaiming-repository-disk-space/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 23:18:07 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/01/23/reclaiming-repository-disk-space/</guid>
		<description><![CDATA[Chandler&#8217;s repository is versioned. Like a subversion source code repository, changes to items are saved into the repository as coherent versions. This enables to later merge together changes that occurred in different threads or processes instead of serializing changes by locking resources.
]]></description>
			<content:encoded><![CDATA[<p>Chandler&#8217;s repository is versioned. Like a <a href="http://subversion.tigris.org/">subversion</a> source code repository, changes to items are saved into the repository as coherent versions. This enables to later merge together changes that occurred in different threads or processes instead of serializing changes by locking resources.<p>
 <a href="http://blog.chandlerproject.org/2006/01/23/reclaiming-repository-disk-space/#more-340" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/01/23/reclaiming-repository-disk-space/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Performance improvements</title>
		<link>http://blog.chandlerproject.org/2006/01/23/performance-improvements/</link>
		<comments>http://blog.chandlerproject.org/2006/01/23/performance-improvements/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 22:43:35 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/01/23/performance-improvements/</guid>
		<description><![CDATA[In the run up to the Chandler 0.6  release, a lot of performance improvements were made to the repository codebase. Many areas of Chandler were also reworked somewhat to make better use of performance critical repository features.
]]></description>
			<content:encoded><![CDATA[<p>In the run up to the <a href="http://chandler.osafoundation.org/0.6_readme.php">Chandler 0.6</a>  release, a lot of performance improvements were made to the repository codebase. Many areas of Chandler were also reworked somewhat to make better use of performance critical repository features.<p>
 <a href="http://blog.chandlerproject.org/2006/01/23/performance-improvements/#more-339" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/01/23/performance-improvements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backing up and restoring a repository</title>
		<link>http://blog.chandlerproject.org/2006/01/23/backing-up-and-restoring-a-repository/</link>
		<comments>http://blog.chandlerproject.org/2006/01/23/backing-up-and-restoring-a-repository/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 22:05:01 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[chandlerdb]]></category>

		<guid isPermaLink="false">http://blog.chandlerproject.org/2006/01/23/backing-up-and-restoring-a-repository/</guid>
		<description><![CDATA[Chandler&#8217;s repository is intended to store a lot of data that one cannot afford to lose. It should come as no surprise that doing regular backups is strongly recommended. There are a few repository APIs, currently accessible from Chandler&#8217;s &#8220;Test&#8221; menu or from Chandler&#8217;s --restore command line option, that make it possible to backup and [...]]]></description>
			<content:encoded><![CDATA[<p>Chandler&#8217;s repository is intended to store a lot of data that one cannot afford to lose. It should come as no surprise that doing regular backups is strongly recommended. There are a few repository APIs, currently accessible from Chandler&#8217;s &#8220;Test&#8221; menu or from Chandler&#8217;s <code>--restore</code> command line option, that make it possible to backup and later restore a repository&#8217;s files.<p>
 <a href="http://blog.chandlerproject.org/2006/01/23/backing-up-and-restoring-a-repository/#more-338" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2006/01/23/backing-up-and-restoring-a-repository/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyLucene 1.0 released</title>
		<link>http://blog.chandlerproject.org/2005/07/25/pylucene-10-released/</link>
		<comments>http://blog.chandlerproject.org/2005/07/25/pylucene-10-released/#comments</comments>
		<pubDate>Mon, 25 Jul 2005 23:54:14 +0000</pubDate>
		<dc:creator>Andi Vajda</dc:creator>
		
		<category><![CDATA[PyLucene]]></category>

		<guid isPermaLink="false">http://wp.osafoundation.org/2005/07/25/pylucene-10-released/</guid>
		<description><![CDATA[PyLucene is a GCJ-compiled version of Java Lucene integrated with Python via SWIG. Its goal is to allow you to use Lucene&#8217;s text indexing and searching capabilities from Python. It is designed to be API compatible with the latest version of Java Lucene.
PyLucene 1.0 is available from its homepage.
]]></description>
			<content:encoded><![CDATA[<p>PyLucene is a GCJ-compiled version of Java Lucene integrated with Python via SWIG. Its goal is to allow you to use Lucene&#8217;s text indexing and searching capabilities from Python. It is designed to be API compatible with the latest version of Java Lucene.<br/>
PyLucene 1.0 is available from its <a href="http://pylucene.osafoundation.org">homepage</>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chandlerproject.org/2005/07/25/pylucene-10-released/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
