<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tristan&#039;s Blog</title>
	<atom:link href="http://www.dataforte.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dataforte.net/blog</link>
	<description>Headbangin&#039; code</description>
	<lastBuildDate>Tue, 27 Mar 2012 08:50:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Installing a new JDK in Debian/Ubuntu</title>
		<link>http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/</link>
		<comments>http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 08:50:53 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=195</guid>
		<description><![CDATA[I like (need) to have several JDKs installed on my system and I use Debian&#8217;s alternatives mechanism to switch easily between them. It&#8217;s just a clever use of symlinks. A nice aspect of the alternatives system is the possibility to connect &#8220;slaves&#8221;: links to other files which should be changed when their master changes. Since [...]]]></description>
				<content:encoded><![CDATA[<p>I like (need) to have several JDKs installed on my system and I use Debian&#8217;s alternatives mechanism to switch easily between them. It&#8217;s just a clever use of symlinks. A nice aspect of the alternatives system is the possibility to connect &#8220;slaves&#8221;: links to other files which should be changed when their master changes. Since the JDK is made up of quite a few commands, here is what I use when I add a new version to my system:</p>
<pre>sudo update-alternatives &#45;-install /usr/bin/java java $1/bin/java 200 \
&#45;-slave /usr/bin/jar jar $1/bin/jar \
&#45;-slave /usr/bin/jarsigner jarsigner $1/bin/jarsigner \
&#45;-slave /usr/bin/javac javac $1/bin/javac \
&#45;-slave /usr/bin/javadoc javadoc $1/bin/javadoc \
&#45;-slave /usr/bin/javah javah $1/bin/javah \
&#45;-slave /usr/bin/javap javap $1/bin/javap \
&#45;-slave /usr/bin/javaws javaws $1/bin/javaws</pre>
<p>Then I just invoke the following command to select the JDK I want to use:</p>
<pre>sudo update-alternatives &#45;-config java</pre>
<p>I get presented with the following</p>
<pre>There are 5 choices for the alternative java (providing /usr/bin/java).
<br />  Selection    Path                                            Priority   Status
&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-&#45;&#45;-
  0            /usr/lib/jvm/ibm-java-x86_64-60/bin/java         200       auto mode
  1            /usr/lib/jvm/ibm-java-x86_64-60/bin/java         200       manual mode
  2            /usr/lib/jvm/ibm-java-x86_64-70/bin/java         200       manual mode
  3            /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java   200       manual mode
  4            /usr/lib/jvm/jdk1.6.0_31/bin/java                200       manual mode
* 5            /usr/lib/jvm/jdk1.7.0_03/bin/java                200       manual mode
<br />Press enter to keep the current choice[*], or type selection number:</pre>
<p>And when you need to dynamically set JAVA_HOME to the appropriate path, use the following command:</p>
<pre>export JAVA_HOME=$(readlink -f /usr/bin/java | sed &quot;s:bin/java::&quot;)</pre>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/" data-text="Installing a new JDK in Debian/Ubuntu"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2012%2F03%2F27%2Finstalling-a-new-jdk-in-debianubuntu%2F&amp;title=Installing%20a%20new%20JDK%20in%20Debian%2FUbuntu" id="wpa2a_2"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2012/03/27/installing-a-new-jdk-in-debianubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Mela bacata di Steve</title>
		<link>http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/</link>
		<comments>http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 08:29:05 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Italiano]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=188</guid>
		<description><![CDATA[Settimana scorsa è morto Steve Jobs. Lo sanno tutti: la notizia era in testa ad ogni quotidiano, ogni notiziario, ogni blog. E non ho potuto fare a meno di provare un certo fastidio nel vedere come la notizia sia stata riportata: farcita di plausi, elogi e lodi per il contributo di Steve e della Apple [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.dataforte.net/blog/wp-content/uploads/2011/10/070928101149-large.jpg"><img class="alignleft size-full wp-image-193" title="Mela bacata" src="http://www.dataforte.net/blog/wp-content/uploads/2011/10/070928101149-large.jpg" alt="" width="360" height="349" /></a>Settimana scorsa è morto Steve Jobs. Lo sanno tutti: la notizia era in testa ad ogni quotidiano, ogni notiziario, ogni blog. E non ho potuto fare a meno di provare un certo fastidio nel vedere <em>come</em> la notizia sia stata riportata: farcita di plausi, elogi e lodi per il contributo di Steve e della Apple all&#8217;umanità. Ma soffermiamoci un momento a pensare a cosa la Apple (guidata da Steve Jobs)  ha dato al mondo: prodotti belli, rifiniti, facili da usare, che tutti vogliono sfoggiare: il tecno-gadget come oggetto di moda. Da questo punto di vista, concordo sulle lodi sperticate alle capacità di marketing: riuscire a convincere milioni di persone a comprare un prodotto costoso, e a inseguirne le evoluzioni quando <em>invecchia</em> (nello stesso modo in cui invecchiano le mode: molto rapidamente) è da geni.</p>
<p>Ma i prodotti Apple non migliorano il mondo: sono accessibili solo a persone dotate di capacità economica medio-alta, creano un sistema chiuso fatto di connettori non standard, di parti di ricambio non sostituibili in autonomia, di un App Store su cui è possibile pubblicare solo applicazioni che rispettano delle regole non pubbliche dettate  dalla moralità (economica) di Apple.</p>
<p>Le stesse persone che elogiano il fantastico mondo creato da Steve Jobs, sono quelle che si scagliano contro i metodi anti-competitivi di Microsoft, contro i protocolli chiusi e i formati proprietari. Ma una prigione, anche se ha i muri pitturati con paesaggi bellissimi, è pur sempre una prigione.</p>
<p>Per cui elogiamo pure Steve Jobs per il suo genio del marketing. Ma ricordiamoci anche di elogiare le persone che cercano veramente di cambiare il mondo in meglio con la tecnologia, cercando di liberare le informazioni, di renderle accessibili alle persone meno fortunate, di permettere ad ognuno di noi di esprimere la propria opinione liberamente.</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/" data-text="La Mela bacata di Steve"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2011%2F10%2F11%2Fla-mela-bacata-di-steve%2F&amp;title=La%20Mela%20bacata%20di%20Steve" id="wpa2a_4"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2011/10/11/la-mela-bacata-di-steve/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wearing the Red Hat</title>
		<link>http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/</link>
		<comments>http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 05:53:35 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=185</guid>
		<description><![CDATA[Since Friday I&#8217;m the proud owner of a Red fedora Hat. Yes, I&#8217;ve been hired to work full time on Infinispan and related technologies. I am very happy !!!]]></description>
				<content:encoded><![CDATA[<p>Since Friday I&#8217;m the proud owner of a Red fedora Hat. Yes, I&#8217;ve been hired to work full time on Infinispan and related technologies. I am very happy !!!</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/" data-text="Wearing the Red Hat"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2011%2F09%2F12%2Fwearing-the-red-hat%2F&amp;title=Wearing%20the%20Red%20Hat" id="wpa2a_6"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2011/09/12/wearing-the-red-hat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cassandra Connection Pool 0.7.1</title>
		<link>http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/</link>
		<comments>http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 13:54:35 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=180</guid>
		<description><![CDATA[I have released version 0.7.1 of my Cassandra Connection Pool. Versions in the 0.7.x series match Cassandra 0.7.x, and therefore require libthrift 0.5. This version is also being used in the recently released Infinispan 5.0.0.CR1. The artifacts are now available in Maven Central so you just need to add the following dependency to your pom.xml [...]]]></description>
				<content:encoded><![CDATA[<p>I have released version 0.7.1 of my Cassandra Connection Pool. Versions in the 0.7.x series match Cassandra 0.7.x, and therefore require libthrift 0.5.<br />
This version is also being used in the recently released <a href="http://infinispan.blogspot.com/2011/04/infinispan-500cr1-pagoa-is-out.html">Infinispan 5.0.0.CR1</a>.<br />
The artifacts are now available in Maven Central so you just need to add the following dependency to your pom.xml without any additional bits and pieces:</p>
<pre>&lt;dependency&gt;
	&lt;groupId&gt;net.dataforte.cassandra&lt;/groupId&gt;
	&lt;artifactId&gt;cassandra-connection-pool&lt;/artifactId&gt;
	&lt;version&gt;0.7.1&lt;/version&gt;
&lt;/dependency&gt;</pre>
<p>I also wish to announce that I am currently working on <a href="&quot;https://github.com/tristantarrant/cassandra-armeria">Cassandra Armeria</a>, an abstraction layer for Cassandra&#8217;s ever-changing Thrift API, and hope that this will provide the basis for Infinispan&#8217;s Cassandra support in the next release cycle (5.1.0).</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/" data-text="Cassandra Connection Pool 0.7.1"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2011%2F04%2F30%2Fcassandra-connection-pool-0-7-1%2F&amp;title=Cassandra%20Connection%20Pool%200.7.1" id="wpa2a_8"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2011/04/30/cassandra-connection-pool-0-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amanuensis</title>
		<link>http://www.dataforte.net/blog/2011/01/12/amanuensis/</link>
		<comments>http://www.dataforte.net/blog/2011/01/12/amanuensis/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 10:47:02 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[IndexWriter]]></category>
		<category><![CDATA[Infinispan]]></category>
		<category><![CDATA[JGroups]]></category>
		<category><![CDATA[Lucene]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=158</guid>
		<description><![CDATA[I have just published Amanuensis on GitHub: https://github.com/tristantarrant/amanuensis Amanuensis is a clustered IndexWriter for Infinispan which leverages JGroups&#8217; channel multiplexing to stream index changes from slave nodes to a master node. To use Amanuensis, add the appropriate dependency to your pom.xml: You also need to tell Infinispan to use Amanuensis&#8217; JGroups channel lookup which enables [...]]]></description>
				<content:encoded><![CDATA[<p>I have just published Amanuensis on GitHub:</p>
<p><a href="https://github.com/tristantarrant/amanuensis">https://github.com/tristantarrant/amanuensis</a></p>
<p>Amanuensis is a clustered IndexWriter for <a href="http://www.jboss.org/infinispan">Infinispan</a> which leverages JGroups&#8217; channel multiplexing to stream index changes from slave nodes to a master node.</p>
<p>To use Amanuensis, add the appropriate dependency to your pom.xml:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;dependencies&gt;
	&lt;dependency&gt;
		&lt;groupId&gt;net.dataforte.infinispan&lt;/groupId&gt;
		&lt;artifactId&gt;amanuensis&lt;/artifactId&gt;
		&lt;version&gt;0.0.2&lt;/version&gt;
	&lt;/dependency&gt;
&lt;/dependencies&gt;
&lt;repositories&gt;
	&lt;repository&gt;
		&lt;id&gt;dataforte&lt;/id&gt;
		&lt;url&gt;http://www.dataforte.net/listing/maven/releases&lt;/url&gt;
		&lt;snapshots&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/snapshots&gt;
	&lt;/repository&gt;
&lt;/repositories&gt;
</pre>
<p>You also need to tell Infinispan to use Amanuensis&#8217; JGroups channel lookup which enables muxed transport of messages.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;global&gt;
		&lt;transport clusterName=&quot;cluster&quot;&gt;
			&lt;properties&gt;
				&lt;property name=&quot;channelLookup&quot; value=&quot;net.dataforte.infinispan.amanuensis.backend.jgroups.MuxChannelLookup&quot; /&gt;
			&lt;/properties&gt;
		&lt;/transport&gt;
	&lt;/global&gt;
</pre>
<p>In your code you need to initialize an instance of <strong>AmanuensisManager</strong> and obtain an InfinispanIndexWriter for each InfinispanDirectory you want to write to as follows:</p>
<pre class="brush: java; title: ; notranslate">
import net.dataforte.infinispan.amanuensis.AmanuensisManager;
import net.dataforte.infinispan.amanuensis.IndexerException;
import net.dataforte.infinispan.amanuensis.InfinispanIndexWriter;

AmanuensisManager amanuensisManager = new AmanuensisManager(cacheManager);
amanuensisManager.setAnalyzer(analyzer);
InfinispanIndexWriter indexWriter = amanuensisManager.getIndexWriter(directory);
</pre>
<p>You then invoke methods on the InfinispanIndexWriter from any node and it will send changes to the Infinispan&#8217;s coordinator which will apply them to the directory. Index operations can also be batched together:</p>
<pre class="brush: java; title: ; notranslate">
indexWriter.startBatch();
indexWriter.deleteDocuments(query);
indexWriter.addDocument(doc);
indexWriter.endBatch();
</pre>
<p>InfinispanIndexWriter is thread safe in that multiple threads can send batches individually.</p>
<p>The project&#8217;s site (together with JavaDocs) is available at: <a href="http://www.dataforte.net/software/amanuensis/index.html">http://www.dataforte.net/software/amanuensis/index.html</a></p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2011/01/12/amanuensis/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2011/01/12/amanuensis/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2011/01/12/amanuensis/" data-text="Amanuensis"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2011%2F01%2F12%2Famanuensis%2F&amp;title=Amanuensis" id="wpa2a_10"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2011/01/12/amanuensis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cassandra Connection Pool 0.3.5</title>
		<link>http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/</link>
		<comments>http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 07:45:50 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Cassandra]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=151</guid>
		<description><![CDATA[I have just release version 0.3.5 of my Cassandra Connection Pool. It contains a couple of bug-fixes when setting configuration properties via the generic set() method and much improved logging: all logs are prefixed with the pool&#8217;s name, periodic activity is lowered at trace from debug, and extra logging is done on pool exhaustion. I [...]]]></description>
				<content:encoded><![CDATA[<p>I have just release version 0.3.5 of my Cassandra Connection Pool.<br />
It contains a couple of bug-fixes when setting configuration properties via the generic set() method and much improved logging: all logs are prefixed with the pool&#8217;s name, periodic activity is lowered at trace from debug, and extra logging is done on pool exhaustion.</p>
<p>I recommend upgrading to it.</p>
<p>Get it from my Maven repo.</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/" data-text="Cassandra Connection Pool 0.3.5"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2010%2F12%2F18%2Fcassandra-connection-pool-0-3-5%2F&amp;title=Cassandra%20Connection%20Pool%200.3.5" id="wpa2a_12"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2010/12/18/cassandra-connection-pool-0-3-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cassandra Connection Pool 0.3.3</title>
		<link>http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/</link>
		<comments>http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 11:00:07 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cassandra]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=148</guid>
		<description><![CDATA[Cassandra Connection Pool 0.3.3 includes a few bugfixes and some logging (at debug level) for helping to identify problems with validation.]]></description>
				<content:encoded><![CDATA[<p>Cassandra Connection Pool 0.3.3 includes a few bugfixes and some logging (at debug level) for helping to identify problems with validation.</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/" data-text="Cassandra Connection Pool 0.3.3"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2010%2F12%2F03%2Fcassandra-connection-pool-0-3-3%2F&amp;title=Cassandra%20Connection%20Pool%200.3.3" id="wpa2a_14"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2010/12/03/cassandra-connection-pool-0-3-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cassandra Connection Pool 0.3.2</title>
		<link>http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/</link>
		<comments>http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 16:04:06 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cassandra]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=142</guid>
		<description><![CDATA[A few days ago I release version 0.3.2 of Cassandra Connection Pool. It fixes a couple of bugs.]]></description>
				<content:encoded><![CDATA[<p>A few days ago I release version 0.3.2 of Cassandra Connection Pool. It fixes a couple of bugs.</p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/" data-text="Cassandra Connection Pool 0.3.2"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2010%2F11%2F15%2Fcassandra-connection-pool-0-3-2%2F&amp;title=Cassandra%20Connection%20Pool%200.3.2" id="wpa2a_16"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2010/11/15/cassandra-connection-pool-0-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cassandra Connection Pool 0.3.0</title>
		<link>http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/</link>
		<comments>http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 12:52:32 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[Connection Pool]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=140</guid>
		<description><![CDATA[I have just released version 0.3.0 of my Cassandra Connection Pool. New features in this release are: automatic host discovery with connection failover datasource implementation cleanups and bugfixes]]></description>
				<content:encoded><![CDATA[<p>I have just released version 0.3.0 of my <a href="http://www.dataforte.net/software/cassandra-connection-pool/">Cassandra Connection Pool</a>.</p>
<p>New features in this release are:</p>
<ul>
<li>automatic host discovery with connection failover</li>
<li>datasource implementation</li>
<li>cleanups and bugfixes</li>
</ul>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/" data-text="Cassandra Connection Pool 0.3.0"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2010%2F10%2F26%2Fcassandra-connection-pool-0-3-0%2F&amp;title=Cassandra%20Connection%20Pool%200.3.0" id="wpa2a_18"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2010/10/26/cassandra-connection-pool-0-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CoheSiVe</title>
		<link>http://www.dataforte.net/blog/2010/10/12/cohesive/</link>
		<comments>http://www.dataforte.net/blog/2010/10/12/cohesive/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 20:28:36 +0000</pubDate>
		<dc:creator>tristan.tarrant</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.dataforte.net/blog/?p=136</guid>
		<description><![CDATA[I have just added a new project to my github repo: CoheSiVe From the silly capitalization you can already guess that it&#8217;s a CSV library. It differs from other libraries I&#8217;ve seen in that it doesn&#8217;t attempt to read the whole file in one go, but is uses an event-driven architecture so that your application [...]]]></description>
				<content:encoded><![CDATA[<p>I have just added a new project to my github repo: <a href="http://github.com/tristantarrant/cohesive">CoheSiVe</a></p>
<p>From the silly capitalization you can already guess that it&#8217;s a CSV library. It differs from other libraries I&#8217;ve seen in that it doesn&#8217;t attempt to read the whole file in one go, but is uses an event-driven architecture so that your application can decide what to do with each row as it is parsed.</p>
<p>Docs are here: <a href="http://www.dataforte.net/software/cohesive/index.html">http://www.dataforte.net/software/cohesive/index.html</a></p>
<p><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://www.dataforte.net/blog/2010/10/12/cohesive/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://www.dataforte.net/blog/2010/10/12/cohesive/"></a><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://www.dataforte.net/blog/2010/10/12/cohesive/" data-text="CoheSiVe"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dataforte.net%2Fblog%2F2010%2F10%2F12%2Fcohesive%2F&amp;title=CoheSiVe" id="wpa2a_20"><img src="http://www.dataforte.net/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.dataforte.net/blog/2010/10/12/cohesive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
