<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Incubaid Research &#187; OCaml</title>
	<atom:link href="http://blog.incubaid.com/tag/ocaml/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.incubaid.com</link>
	<description>Blog of the Incubaid Research Team</description>
	<lastBuildDate>Sat, 15 Jun 2013 14:44:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.incubaid.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Incubaid Research &#187; OCaml</title>
		<link>http://blog.incubaid.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.incubaid.com/osd.xml" title="Incubaid Research" />
	<atom:link rel='hub' href='http://blog.incubaid.com/?pushpress=hub'/>
		<item>
		<title>User functions in Arakoon</title>
		<link>http://blog.incubaid.com/2013/02/01/user-functions-in-arakoon/</link>
		<comments>http://blog.incubaid.com/2013/02/01/user-functions-in-arakoon/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 08:20:44 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[Arakoon]]></category>
		<category><![CDATA[Baardskeerder]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arakoon]]></category>
		<category><![CDATA[baardskeerder]]></category>
		<category><![CDATA[key value store]]></category>
		<category><![CDATA[user functions]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=990</guid>
		<description><![CDATA[Mahomet cald the Hill to come to him. And when the Hill stood still, he was neuer a whit abashed, but said; If the Hill will not come to Mahomet, Mahomet wil go to the hill. Francis Bacon Introduction Arakoon tries to be a simple distributed key value store that favours consistency over availability. From [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=990&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2013/02/01/user-functions-in-arakoon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>
	</item>
		<item>
		<title>Caulking your distributed algorithm implementation</title>
		<link>http://blog.incubaid.com/2012/10/25/caulking-your-distributed-algorithm-implementation/</link>
		<comments>http://blog.incubaid.com/2012/10/25/caulking-your-distributed-algorithm-implementation/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 07:20:24 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[algorithms]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[arakoon]]></category>
		<category><![CDATA[distributed systems]]></category>
		<category><![CDATA[graphviz]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=886</guid>
		<description><![CDATA[Me: Ok, all unit tests succeed. All system tests succeed. All acceptance tests succeed. Release! (some time later) NN: We have a problem with your distributed database. Me: Ok, what&#8217;s the matter? NN: Once in a while the cluster seems to get stuck. Me: Stuck how? NN: It seems to be unable to elect a [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=886&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2012/10/25/caulking-your-distributed-algorithm-implementation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/10/mark0.png?w=300" medium="image">
			<media:title type="html">mark0</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/10/mark1.png?w=1024" medium="image">
			<media:title type="html">mark1</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/10/mark2.png?w=1024" medium="image">
			<media:title type="html">mark2</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/10/mark3.png?w=1024" medium="image">
			<media:title type="html">mark3</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/10/mark3_2.png?w=1024" medium="image">
			<media:title type="html">mark3_2</media:title>
		</media:content>
	</item>
		<item>
		<title>Tracking Asynchronous IO Using Type Systems</title>
		<link>http://blog.incubaid.com/2012/04/02/tracking-asynchronous-io-using-type-systems/</link>
		<comments>http://blog.incubaid.com/2012/04/02/tracking-asynchronous-io-using-type-systems/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 12:37:53 +0000</pubDate>
		<dc:creator>Nicolas Trangez</dc:creator>
				<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[gevent]]></category>
		<category><![CDATA[lwt]]></category>
		<category><![CDATA[Monads]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=801</guid>
		<description><![CDATA[Some time ago I gave a short presentation to some colleagues of mine about the Python gevent library, and the low-level libraries it uses to perform its job (which mainly boils down to handle asynchronous IO and managing the microthreads waiting for these asynchronous actions to complete, using libev or libevent as a wrapper around [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=801&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2012/04/02/tracking-asynchronous-io-using-type-systems/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cdb9a7e894ce5c90532025979b53d93e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eikke</media:title>
		</media:content>
	</item>
		<item>
		<title>Rediscovering the RSync Algorithm</title>
		<link>http://blog.incubaid.com/2012/02/14/rediscovering-the-rsync-algorithm/</link>
		<comments>http://blog.incubaid.com/2012/02/14/rediscovering-the-rsync-algorithm/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 11:11:36 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[algorithms]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=584</guid>
		<description><![CDATA[A:Ok, you&#8217;re synchronizing this over the web; and what do you use for the synchronization? B: Oh, we implemented the rsync algorithm. A: uhu. And what do you do with really big files? B: The same. A: And you also synchronise folders? B: Yes. A: And how do you do that? B: we iterate over [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=584&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2012/02/14/rediscovering-the-rsync-algorithm/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2012/02/old_image.png" medium="image" />

		<media:content url="http://incubaid.files.wordpress.com/2012/02/new_image.png" medium="image" />
	</item>
		<item>
		<title>Share your mistakes: adventures in optimization</title>
		<link>http://blog.incubaid.com/2012/01/17/share-your-mistakes-adventures-in-optimization/</link>
		<comments>http://blog.incubaid.com/2012/01/17/share-your-mistakes-adventures-in-optimization/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 12:34:41 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[algorithms]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[bitset]]></category>
		<category><![CDATA[josephus]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[sampling methods]]></category>
		<category><![CDATA[sparse set]]></category>

		<guid isPermaLink="false">http://incubaid.wordpress.com/?p=426</guid>
		<description><![CDATA[I used to think I knew the laws of code optimization. In my (not so) humble opinion they were profile before you optimize after profiling tells you what the problem is, first try a better strategy (algorithm or data structure) tweak code as a last resort It&#8217;s a pure economical reasoning that&#8217;s behind this: if [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=426&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2012/01/17/share-your-mistakes-adventures-in-optimization/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>
	</item>
		<item>
		<title>Announcing Baardskeerder</title>
		<link>http://blog.incubaid.com/2011/12/23/announcing-baardskeerder/</link>
		<comments>http://blog.incubaid.com/2011/12/23/announcing-baardskeerder/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 13:27:27 +0000</pubDate>
		<dc:creator>Nicolas Trangez</dc:creator>
				<category><![CDATA[Baardskeerder]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[append-only]]></category>
		<category><![CDATA[arakoon]]></category>
		<category><![CDATA[baardskeerder]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://incubaid.wordpress.com/?p=412</guid>
		<description><![CDATA[We&#8217;re happy to announce the public availability of Baardskeerder, our implementation of a Copy-On-Write (append-only) B-tree-ish embedded database, after approval by our CEO. The source is available on GitHub as part of the Incubaid organization at https://github.com/Incubaid/baardskeerder, under the LGPL-3 license. This is a technology preview. Baardskeerder is still under heavy development, and breaking changes will [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=412&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2011/12/23/announcing-baardskeerder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cdb9a7e894ce5c90532025979b53d93e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eikke</media:title>
		</media:content>
	</item>
		<item>
		<title>Guest lecture: &#8220;Real-World Functional Programming @ Incubaid&#8221;</title>
		<link>http://blog.incubaid.com/2011/12/15/guest-lecture-real-world-functional-programming-incubaid/</link>
		<comments>http://blog.incubaid.com/2011/12/15/guest-lecture-real-world-functional-programming-incubaid/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 11:35:27 +0000</pubDate>
		<dc:creator>Nicolas Trangez</dc:creator>
				<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=395</guid>
		<description><![CDATA[The Incubaid Research team was invited by prof. dr. ir. Tom Schrijvers (University of Gent, UGent) to give a guest lecture about the industrial relevance of Functional Programming (FP), as part of his master course on &#8220;Functional and Logic Programming Languages&#8221; (which covers Haskell and Prolog). The talk covered what we&#8217;re doing at Incubaid, why we [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=395&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2011/12/15/guest-lecture-real-world-functional-programming-incubaid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cdb9a7e894ce5c90532025979b53d93e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eikke</media:title>
		</media:content>
	</item>
		<item>
		<title>On segmentation faults, stack overflows, GDB and OCaml</title>
		<link>http://blog.incubaid.com/2011/12/04/on-segmentation-faults-stack-overflows-gdb-and-ocaml/</link>
		<comments>http://blog.incubaid.com/2011/12/04/on-segmentation-faults-stack-overflows-gdb-and-ocaml/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 14:09:37 +0000</pubDate>
		<dc:creator>Nicolas Trangez</dc:creator>
				<category><![CDATA[OCaml]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[lwt]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=366</guid>
		<description><![CDATA[A couple of months ago, we got reports of random crashes of our distributed, consistent key-value store, Arakoon (if you don&#8217;t know it, go check it out!). The process died, out of the blue, due to a segmentation fault. These crashes seemed to occur at random, and we found no way to reproduce them. All [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=366&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2011/12/04/on-segmentation-faults-stack-overflows-gdb-and-ocaml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cdb9a7e894ce5c90532025979b53d93e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eikke</media:title>
		</media:content>
	</item>
		<item>
		<title>Baardskeerder&#8217;s transaction strategy</title>
		<link>http://blog.incubaid.com/2011/11/28/baardskeerders-transaction-strategy/</link>
		<comments>http://blog.incubaid.com/2011/11/28/baardskeerders-transaction-strategy/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 09:02:21 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[Baardskeerder]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[baardskeerder]]></category>
		<category><![CDATA[compaction]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=308</guid>
		<description><![CDATA[Baardskeerder is a simple embedded database based around an append-only B-treeish datastructure. It&#8217;s a dictionary that also supports range queries and transactions. Baardskeerder is implemented in ocaml, and the main idea is that it will replace Tokyo Cabinet in our Arakoon Key-Value Store. This post will try to will explain our approach regarding transactions. Preliminaries [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=308&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2011/11/28/baardskeerders-transaction-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>

		<media:content url="http://incubaid.files.wordpress.com/2011/11/tree_adfhz.png" medium="image">
			<media:title type="html">tree after 5 sets</media:title>
		</media:content>
	</item>
		<item>
		<title>Combining Ocaml Functors and First class modules</title>
		<link>http://blog.incubaid.com/2011/11/21/combining-ocaml-functors-and-first-class-modules/</link>
		<comments>http://blog.incubaid.com/2011/11/21/combining-ocaml-functors-and-first-class-modules/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 09:44:42 +0000</pubDate>
		<dc:creator>rslootma</dc:creator>
				<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.incubaid.com/?p=268</guid>
		<description><![CDATA[We have in our codebase a benchmark module that&#8217;s functorized so that we can change the implementation of the module. The benchmark itself is part of a setup that has a driver script and a little server. The driver runs the benchmark with various parameters on different hardware setups, and then posts the results to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.incubaid.com&#038;blog=27780527&#038;post=268&#038;subd=incubaid&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://blog.incubaid.com/2011/11/21/combining-ocaml-functors-and-first-class-modules/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/4b9310c12b2d36e6f214b2a81088510f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rslootma</media:title>
		</media:content>
	</item>
	</channel>
</rss>