<?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>Xavier Llorà</title>
	<atom:link href="http://www.xavierllora.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xavierllora.net</link>
	<description>A notebook about data-intensive computing, genetics-based machine learning, semantic-web technology, cloud computing,  and more.</description>
	<lastBuildDate>Thu, 15 Jul 2010 19:50:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Meandre 2.0 Alpha Preview = Scala + MongoDB</title>
		<link>http://www.xavierllora.net/2010/07/15/meandre-2-0-alpha-preview-scala-mongodb/</link>
		<comments>http://www.xavierllora.net/2010/07/15/meandre-2-0-alpha-preview-scala-mongodb/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:45:00 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Data-Intensive Computing]]></category>
		<category><![CDATA[Meandre]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Crochet]]></category>
		<category><![CDATA[Derby]]></category>
		<category><![CDATA[JENA]]></category>
		<category><![CDATA[meandre]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[Snare]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=697</guid>
		<description><![CDATA[A lot of water under the bridge has gone by since the first release of Meandre 1.4.X series. In January I went back to the drawing board and start sketching what was going to be 1.5.X series. The slide deck embedded above is a extended list of the thoughts during the process. As usual, I [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2010/01/21/fast-rest-api-prototyping-with-crochet-and-scala/' rel='bookmark' title='Permanent Link: Fast REST API prototyping with Crochet and Scala'>Fast REST API prototyping with Crochet and Scala</a></li>
<li><a href='http://www.xavierllora.net/2009/12/01/meandre-is-going-scala/' rel='bookmark' title='Permanent Link: Meandre is going Scala'>Meandre is going Scala</a></li>
<li><a href='http://www.xavierllora.net/2008/12/02/meandre-infrastructure-14-rc1-tagged/' rel='bookmark' title='Permanent Link: Meandre Infrastructure 1.4 RC1 tagged'>Meandre Infrastructure 1.4 RC1 tagged</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><center><br />
<object width="425&type=s" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=meandre2-0alpha-preview-100715140140-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=meandre2-0alpha-preview-100715140140-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425&type=s" height="348"></embed></object><br />
</center></p>
<p>A lot of water under the bridge has gone by since the first release of <a href="http://seasr.org/meandre/download/">Meandre 1.4.X series</a>. In January I went back to the drawing board and start sketching what was going to be 1.5.X series. The slide deck embedded above is a extended list of the thoughts during the process. As usual, I started collecting feedback from people using 1.4.X in production, things that worked, things that needed improvement, things that were just plain over complicated. The hot recurrent topics that people using 1.4.X could be mainly summarized as:</p>
<ul>
<li>Complex execution concurrency model based on traditional semaphores written in Java (mostly my maintenance nightmare when changes need to be introduced)</li>
<li>Server performance bounded by <a href="http://jena.sourceforge.net/">JENA</a>&#8216;s persistent model implementation</li>
<li>State caching on individual servers to boost performance increases complexity of single-image cluster deployments</li>
<li>Could-deployable infrastructure, but not cloud-friendly infrastructure</li>
</ul>
<p>As I mentioned, these elements where the main ingredients to target for 1.5.X series. However as the redesign moved forward, the new version represented a radical disruption from 1.4.X series and eventually turned up to become the 2.0 Alpha version described here. The main changes that forced this transition are:</p>
<ul>
<li>Cloud-friendly infrastructure required rethinking of the core functionalities</li>
<li>Drastic redesign of the back-end state storage</li>
<li>Revisited flow execution engine to support flow execution</li>
<li>Changes on the API that render returned JSON documents incompatible with 1.4.X</li>
</ul>
<p>Meandre 2.0 (currently already available in the the <a href="http://dev-tools.seasr.org/fisheye/browse/Meandre-Infrastructure">SVN trunk</a>) has been rewritten from scratch using <a href="http://www.scala-lang.org/">Scala</a>. That decision was motivated to benefit from the Actor model provided by <a href="http://www.scala-lang.org/">Scala</a> (modeled after <a href="http://www.erlang.org/">Erlang</a>&#8216;s actors). Such model greatly simplify the mechanics of the infrastructure, but it also powered the basis of Snowfield (the effort to create a scalable distributed flow execution engine for Meandre flows). Also, the <a href="http://www.scala-lang.org/">Scala</a> language expressiveness has greatly reduced the code based size (2.0 code base is roughly 1/3 of the size of 1.4.X series) greatly simplifying the maintenance activities the infrastructure will require as we move forward.</p>
<p>The second big change that pushed the 2.0 Alpha trigger was the redesign of the back end state storage. 1.4.X series heavily relied on the relational storage for persistent RDF models provided by JENA. For performance reasons, <a href="http://jena.sourceforge.net/">JENA</a> caches the model in memory and mostly assumes ownership of the model. Hence, if you want to provide a single-image Meandre cluster you need to inject into <a href="http://jena.sourceforge.net/">JENA</a> cache coherence mechanics, greatly increasing the complexity. Also, the relational implementation relies on the mapping model into a table and triple into a row (this is a bit of a simplification). That implies that large number of SQL statements need to be generated to update models, heavily taxing the relational storage when changes on user repository data needs to be introduced.</p>
<p>An ideal cloud-friendly Meandre infrastructure should not maintain state (neither voluntarily, neither as result of <a href="http://jena.sourceforge.net/">JENA</a> back end). Thus, a fast and scalable back end storage could allow infrastructure servers to maintain no state and be able to provide the appearance of a single image cluster. After testing different alternatives, their community support, and development roadmap, the only option left was <a href="http://www.mongodb.org/">MongoDB</a>. Its setup simplicity for small installations and its ability to easily scale to large installations (including cloud-deployed ones) made <a href="http://www.mongodb.org/">MongoDB</a> the candidate to maintain state for Meandre 2.0. This was quite a departure from 1.4.x series, where you had the choice to store state via <a href="http://jena.sourceforge.net/">JENA</a> on an embedded <a href="http://db.apache.org/derby/">Derby</a> or an external <a href="http://www.mysql.com/">MySQL</a> server.</p>
<p>A final note on the building blocks that made possible 2.0 series. Two other side projects where started to support the development of what will become Meandre 2.0.X series:</p>
<ol>
<li><a href="http://github.com/xllora/Crochet">Crochet</a>: <a href="http://github.com/xllora/Crochet">Crochet</a> targets to help quickly prototype REST APIs relying on the flexibility of the Scala language. The initial ideas for Crochet were inspired after reading Gabriele Renzi post on creating a picoframework with Scala (see <a href="http://www.riffraff.info/2009/4/11/step-a-scala-web-picoframework">http://www.riffraff.info/2009/4/11/step-a-scala-web-picoframework</a>) and the need for quickly prototyping APIs for pilot projects. Crochet also provides mechanisms to hide repetitive tasks involved with default responses and authentication/authorization piggybacking on the mechanics provided by application servers.</li>
<li><a href="http://github.com/xllora/Snare">Snare</a>: <a href="http://github.com/xllora/Snare">Snare</a> is a coordination layer for distributed applications written in Scala and relies and <a href="http://www.mongodb.org/">MongoDB</a> to implement its communication layer. <a href="http://github.com/xllora/Snare">Snare</a> implements a basic heartbeat system and a simple notification mechanism (peer-to-peer and broadcast communication). Snare relies on <a href="http://www.mongodb.org/">MongoDB</a> to track heartbeat and notification mailboxes.</li>
</ol>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2010/01/21/fast-rest-api-prototyping-with-crochet-and-scala/' rel='bookmark' title='Permanent Link: Fast REST API prototyping with Crochet and Scala'>Fast REST API prototyping with Crochet and Scala</a></li>
<li><a href='http://www.xavierllora.net/2009/12/01/meandre-is-going-scala/' rel='bookmark' title='Permanent Link: Meandre is going Scala'>Meandre is going Scala</a></li>
<li><a href='http://www.xavierllora.net/2008/12/02/meandre-infrastructure-14-rc1-tagged/' rel='bookmark' title='Permanent Link: Meandre Infrastructure 1.4 RC1 tagged'>Meandre Infrastructure 1.4 RC1 tagged</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/07/15/meandre-2-0-alpha-preview-scala-mongodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minor Update</title>
		<link>http://www.xavierllora.net/2010/06/24/minor-update/</link>
		<comments>http://www.xavierllora.net/2010/06/24/minor-update/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 05:04:12 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[blogging]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=694</guid>
		<description><![CDATA[If you used to check my Twitter stream in the center column at the bottom of my blog, you would have noticed  I have just replaced it with my Google Buzz profile stream instead. Yes, you can still see the my Twitter activity, but you will also be able to (1) see aggregated content/activity coming from other [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2009/02/16/revamping-my-twitter-accounts/' rel='bookmark' title='Permanent Link: Revamping my Twitter accounts'>Revamping my Twitter accounts</a></li>
<li><a href='http://www.xavierllora.net/2008/06/03/making-blogging-easy/' rel='bookmark' title='Permanent Link: Making blogging easy'>Making blogging easy</a></li>
<li><a href='http://www.xavierllora.net/2010/06/03/lcs-gbml-central-get-a-new-home/' rel='bookmark' title='Permanent Link: LCS &#038; GBML Central Gets a New Home'>LCS &#038; GBML Central Gets a New Home</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you used to check my <a href="http://twitter.com/xllora">Twitter stream</a> in the center column at the bottom of my blog, you would have noticed  I have just replaced it with my <a href="http://www.google.com/profiles/101892163699515371535">Google Buzz profile stream</a> instead. Yes, you can still see the my <a href="http://twitter.com/xllora">Twitter activity</a>, but you will also be able to (1) see aggregated content/activity coming from other sources in one place, (2) subscribe to the stream, and (3) comment on each of the entries. As, I said, a minor update to improve its functionality a bit more.</p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2009/02/16/revamping-my-twitter-accounts/' rel='bookmark' title='Permanent Link: Revamping my Twitter accounts'>Revamping my Twitter accounts</a></li>
<li><a href='http://www.xavierllora.net/2008/06/03/making-blogging-easy/' rel='bookmark' title='Permanent Link: Making blogging easy'>Making blogging easy</a></li>
<li><a href='http://www.xavierllora.net/2010/06/03/lcs-gbml-central-get-a-new-home/' rel='bookmark' title='Permanent Link: LCS &#038; GBML Central Gets a New Home'>LCS &#038; GBML Central Gets a New Home</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/24/minor-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IWLCS 2010 &#8211; Discussion session on LCS / XCS(F)</title>
		<link>http://www.xavierllora.net/2010/06/21/iwlcs-2010-discussion-session-on-lcs-xcsf/</link>
		<comments>http://www.xavierllora.net/2010/06/21/iwlcs-2010-discussion-session-on-lcs-xcsf/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 22:04:08 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Learning Classifier Systems]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[GBML]]></category>
		<category><![CDATA[GBML & LCS]]></category>
		<category><![CDATA[genetics-based machine learning]]></category>
		<category><![CDATA[LCS]]></category>
		<category><![CDATA[XCS]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=690</guid>
		<description><![CDATA[I just got an email from Martin Butz about a discussion session being planned for IWLCS 2010 and his request to pass it along. Hope all is well and you are going to attend GECCO this year. Regardless if you attend or not: Jaume asked me to lead a discussion session on “LCS representations, operators, [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2006/05/04/list-of-papers-to-be-presented-at-iwlcs-2006/' rel='bookmark' title='Permanent Link: List of papers to be presented at IWLCS 2006'>List of papers to be presented at IWLCS 2006</a></li>
<li><a href='http://www.xavierllora.net/2008/12/12/join-me-congratulating-albert-orriols/' rel='bookmark' title='Permanent Link: Join me congratulating Albert Orriols, Ph.D.'>Join me congratulating Albert Orriols, Ph.D.</a></li>
<li><a href='http://www.xavierllora.net/2008/07/13/ilwcs-2008-live/' rel='bookmark' title='Permanent Link: ILWCS 2008 live'>ILWCS 2008 live</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I just got an email from <a href="http://www.coboslab.psychologie.uni-wuerzburg.de/people/martin_v_butz/">Martin Butz</a> about a discussion session being planned for IWLCS 2010 and his request to pass it along.</p>
<blockquote><p>Hope all is well and you are going to attend GECCO this year.</p>
<p>Regardless if you attend or not:</p>
<p>Jaume asked me to lead a discussion session on</p>
<p>“LCS representations, operators, and scalability – what is next?”</p>
<p>… or similar during IWLCS… Basically everything besides datamining, because there will be another session on that topic.</p>
<p>So, I am sure you all have some issues in mind that you think should be tackled / addressed / discussed at the workshop and in the near future.</p>
<p>Thus, I would be very happy to receive a few suggestions from your side – anything is welcome – I will then compile the points raised in a few slides to try and get the discussion going at the workshop.</p>
<p>Thank you for any feedback you can provide.</p>
<p>Looking forward to seeing you soon!</p>
<p>Martin</p>
<p>P.S.: Please feel free to also forward this message or tell me, if you think this Email should be still sent to other people…<br />
&#8212;-</p>
<p>PD Dr. Martin V. Butz &lt;<a href="mailto:butz@psychologie.uni-wuerzburg.de" target="_blank">butz@psychologie.uni-wuerzburg.de</a>&gt;</p>
<p>Department of Psychology III (Cognitive Psychology)<br />
Roentgenring 11<br />
97070 Wuerzburg, Germany<br />
<a href="http://www.coboslab.psychologie.uni-wuerzburg.de/people/martin_v_butz/" target="_blank">http://www.coboslab.psychologie.uni-wuerzburg.de/people/martin_v_butz/<br />
</a><a href="http://www.coboslab" target="_blank">http://www.coboslab</a>.<a href="http://psychologie.uni-wuerzburg.de" target="_blank">psychologie.uni-wuerzburg.de<br />
</a>Phone: +49 (0)931 31 82808<br />
Fax:    +49 (0)931 31 82815</p></blockquote>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2006/05/04/list-of-papers-to-be-presented-at-iwlcs-2006/' rel='bookmark' title='Permanent Link: List of papers to be presented at IWLCS 2006'>List of papers to be presented at IWLCS 2006</a></li>
<li><a href='http://www.xavierllora.net/2008/12/12/join-me-congratulating-albert-orriols/' rel='bookmark' title='Permanent Link: Join me congratulating Albert Orriols, Ph.D.'>Join me congratulating Albert Orriols, Ph.D.</a></li>
<li><a href='http://www.xavierllora.net/2008/07/13/ilwcs-2008-live/' rel='bookmark' title='Permanent Link: ILWCS 2008 live'>ILWCS 2008 live</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/21/iwlcs-2010-discussion-session-on-lcs-xcsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LCS and Software Development</title>
		<link>http://www.xavierllora.net/2010/06/18/lcs-and-software-development/</link>
		<comments>http://www.xavierllora.net/2010/06/18/lcs-and-software-development/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:43:25 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[GBML & LCS]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[complex systems]]></category>
		<category><![CDATA[GBML]]></category>
		<category><![CDATA[genetics-based machine learning]]></category>
		<category><![CDATA[LCS]]></category>
		<category><![CDATA[Learning Classifier Systems]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=684</guid>
		<description><![CDATA[&#8220;On the Road to Competence&#8221; is a slide deck by Jurgen Appelo with interesting analogies between learning classifier systems and software development. Definitely worth taking a look at it. Related posts:Transcoding NIGEL 2006 videos Large Scale Data Mining using Genetics-Based Machine Learning NIGEL 2006 Part III: Butz vs. Barry


Related posts:<ol><li><a href='http://www.xavierllora.net/2009/05/04/transcoding-nigel-2006-videos/' rel='bookmark' title='Permanent Link: Transcoding NIGEL 2006 videos'>Transcoding NIGEL 2006 videos</a></li>
<li><a href='http://www.xavierllora.net/2009/07/15/large-scale-data-mining-using-genetics-based-machine-learning/' rel='bookmark' title='Permanent Link: Large Scale Data Mining using Genetics-Based Machine Learning'>Large Scale Data Mining using Genetics-Based Machine Learning</a></li>
<li><a href='http://www.xavierllora.net/2009/05/19/nigel-2006-part-iii-butz-vs-barry/' rel='bookmark' title='Permanent Link: NIGEL 2006 Part III: Butz vs. Barry'>NIGEL 2006 Part III: Butz vs. Barry</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.slideshare.net/jurgenappelo/on-the-road-to-competence">&#8220;On the Road to Competence&#8221;</a> is a slide deck by <a href="http://noopl.nl">Jurgen Appelo</a> with interesting analogies between <a href="http://gbml.org">learning classifier systems</a> and software development. Definitely worth taking a look at it.</p>
<object width="425&type=s" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=ontheroadtocompetencev1-100615065751-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=ontheroadtocompetencev1-100615065751-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425&type=s" height="348"></embed></object>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2009/05/04/transcoding-nigel-2006-videos/' rel='bookmark' title='Permanent Link: Transcoding NIGEL 2006 videos'>Transcoding NIGEL 2006 videos</a></li>
<li><a href='http://www.xavierllora.net/2009/07/15/large-scale-data-mining-using-genetics-based-machine-learning/' rel='bookmark' title='Permanent Link: Large Scale Data Mining using Genetics-Based Machine Learning'>Large Scale Data Mining using Genetics-Based Machine Learning</a></li>
<li><a href='http://www.xavierllora.net/2009/05/19/nigel-2006-part-iii-butz-vs-barry/' rel='bookmark' title='Permanent Link: NIGEL 2006 Part III: Butz vs. Barry'>NIGEL 2006 Part III: Butz vs. Barry</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/18/lcs-and-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAssist and GALE Now Available in Python</title>
		<link>http://www.xavierllora.net/2010/06/11/gassist-and-gale-now-available-in-python/</link>
		<comments>http://www.xavierllora.net/2010/06/11/gassist-and-gale-now-available-in-python/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 17:06:35 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Learning Classifier Systems]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[GALE]]></category>
		<category><![CDATA[GAssist]]></category>
		<category><![CDATA[GBML]]></category>
		<category><![CDATA[GBML & LCS]]></category>
		<category><![CDATA[LCS]]></category>
		<category><![CDATA[MCS]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[UCS]]></category>
		<category><![CDATA[XCS]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=682</guid>
		<description><![CDATA[Ryan Urbanowicz has released Python versions of GAssits and GALE!!! Yup, so excited to see a new incarnation of GALE doing the rounds. I cannot wait to get my hands on it. Ryan has also done an excellent job porting UCS, XCS, and MCS to Python and making those implementations available via &#8220;LCS &#38; GBML central&#8221; for [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2006/05/10/gale-is-back/' rel='bookmark' title='Permanent Link: GALE is back!'>GALE is back!</a></li>
<li><a href='http://www.xavierllora.net/2008/11/13/fast-mutation-implementation-for-genetic-algorithms-in-python/' rel='bookmark' title='Permanent Link: Fast mutation implementation for genetic algorithms in Python'>Fast mutation implementation for genetic algorithms in Python</a></li>
<li><a href='http://www.xavierllora.net/2009/05/04/transcoding-nigel-2006-videos/' rel='bookmark' title='Permanent Link: Transcoding NIGEL 2006 videos'>Transcoding NIGEL 2006 videos</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.linkedin.com/pub/ryan-urbanowicz/15/3ba/82b">Ryan Urbanowicz</a> has released Python versions of GAssits and GALE!!! Yup, so excited to see a new incarnation of GALE doing the rounds. I cannot wait to get my hands on it. Ryan has also done an excellent job porting UCS, XCS, and MCS to Python and making those implementations available via <a href="http://gbml.org">&#8220;LCS &amp; GBML central&#8221;</a> for people to use. I think Ryan&#8217;s efforts deserve recognition. His code is helping others to have an easier entry to the LCS and GBML.</p>
<p>More information about Ryan&#8217;s implementations can found below</p>
<ul>
<li><a href="http://gbml.org/2010/06/10/python-lcs-implementations-gale-gassist-for-snp-environment/">GAssist and GALE</a></li>
<li><a href="http://gbml.org/2010/03/24/python-lcs-implementations-xcs-ucs-mcs-for-snp-environment/">UCS, XCS and MCS</a></li>
</ul>
<p><em>Side note: my original GALE implementation can also be downloaded </em><a href="http://www.xavierllora.net/2006/05/10/gale-is-back/"><em>here</em></a><em>.</em></p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2006/05/10/gale-is-back/' rel='bookmark' title='Permanent Link: GALE is back!'>GALE is back!</a></li>
<li><a href='http://www.xavierllora.net/2008/11/13/fast-mutation-implementation-for-genetic-algorithms-in-python/' rel='bookmark' title='Permanent Link: Fast mutation implementation for genetic algorithms in Python'>Fast mutation implementation for genetic algorithms in Python</a></li>
<li><a href='http://www.xavierllora.net/2009/05/04/transcoding-nigel-2006-videos/' rel='bookmark' title='Permanent Link: Transcoding NIGEL 2006 videos'>Transcoding NIGEL 2006 videos</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/11/gassist-and-gale-now-available-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GECCO 2010 Around the Bend, GECCO 2011 Gearing Up</title>
		<link>http://www.xavierllora.net/2010/06/08/gecco-2010-around-the-bend-gecco-2011-gearing-up/</link>
		<comments>http://www.xavierllora.net/2010/06/08/gecco-2010-around-the-bend-gecco-2011-gearing-up/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 04:35:01 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Activities]]></category>
		<category><![CDATA[GECCO 2011]]></category>
		<category><![CDATA[GECCO]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=677</guid>
		<description><![CDATA[GECCO 2010 is getting ready to open July 7th at Portland (Oregon). But GECCO does not sleep and the 2011 edition is gearing up to take the torch after Portland. There is currently an announcement &#8220;GECCO 2011: Call for New Frontiers Track Proposals&#8221;. The deadline is June 30th, and you can get more information at [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2009/02/16/revamping-my-twitter-accounts/' rel='bookmark' title='Permanent Link: Revamping my Twitter accounts'>Revamping my Twitter accounts</a></li>
<li><a href='http://www.xavierllora.net/2009/02/18/grouptweet-or-getting-groups-in-twitter/' rel='bookmark' title='Permanent Link: GroupTweet or getting groups in Twitter'>GroupTweet or getting groups in Twitter</a></li>
<li><a href='http://www.xavierllora.net/2009/12/19/gecco-2010-submission-deadline/' rel='bookmark' title='Permanent Link: GECCO 2010 Submission Deadline (Extended)'>GECCO 2010 Submission Deadline (Extended)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>GECCO 2010 is getting ready to open July 7th at Portland (Oregon). But GECCO does not sleep and the 2011 edition is gearing up to take the torch after Portland. </p>
<p>There is currently an announcement <strong>&#8220;GECCO 2011: Call for New Frontiers Track Proposals&#8221;</strong>. The deadline is June 30th, and you can get more information at <a href="http://goo.gl/m4my">http://goo.gl/m4my</a> or at the public GECCO 2011 public announcements Wave (embedded below). </p>
<p>You can follow GECCO 2011 on Twitter at <a href="http://twitter.com/gecco2011">@GECCO2011</a>, join the group at <a href="http://www.facebook.com/group.php?gid=126064710759798">GECCO 2011 on FaceBook</a> or just <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BlR8bScCrA">Wave with GECCO 2011</a>. </p>
<div id="waveframe" style="width: 600px; height: 600px"></div>
<p><script type="text/javascript" 
  src="http://www.google.com/jsapi"></script><br />
<script type="text/javascript">
google.load("wave", "1");
google.setOnLoadCallback(initialize);
function initialize() {
  var waveframe = document.getElementById("waveframe");
  var embedOptions = {
    target: waveframe,
    header: false,
    toolbar: false,
    footer: false
  };
  var wavePanel = new google.wave.WavePanel(embedOptions);
  wavePanel.loadWave("googlewave.com!w+lR8bScCrA");
}
</script></p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2009/02/16/revamping-my-twitter-accounts/' rel='bookmark' title='Permanent Link: Revamping my Twitter accounts'>Revamping my Twitter accounts</a></li>
<li><a href='http://www.xavierllora.net/2009/02/18/grouptweet-or-getting-groups-in-twitter/' rel='bookmark' title='Permanent Link: GroupTweet or getting groups in Twitter'>GroupTweet or getting groups in Twitter</a></li>
<li><a href='http://www.xavierllora.net/2009/12/19/gecco-2010-submission-deadline/' rel='bookmark' title='Permanent Link: GECCO 2010 Submission Deadline (Extended)'>GECCO 2010 Submission Deadline (Extended)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/08/gecco-2010-around-the-bend-gecco-2011-gearing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LCS &amp; GBML Central Gets a New Home</title>
		<link>http://www.xavierllora.net/2010/06/03/lcs-gbml-central-get-a-new-home/</link>
		<comments>http://www.xavierllora.net/2010/06/03/lcs-gbml-central-get-a-new-home/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 04:32:38 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Learning Classifier Systems]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[GBML]]></category>
		<category><![CDATA[GBML & LCS]]></category>
		<category><![CDATA[LCS]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=671</guid>
		<description><![CDATA[Today I finished migrating the LCS &#38; GBML Central site from its original URL (http://lcs-gbml.ncsa.uiuc.edu) to a more permanent and stable home located at http://gbml.org. The original site is already currently redirecting the trafic to the new site, and it will be doing so for a while to help people transition and update bookmarks and [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2009/05/13/lcs-gbml-central-back-to-production/' rel='bookmark' title='Permanent Link: LCS &#038; GBML Central back to production'>LCS &#038; GBML Central back to production</a></li>
<li><a href='http://www.xavierllora.net/2009/03/27/lcsweb-gbml-blog-lcs-gbml-central/' rel='bookmark' title='Permanent Link: LCSweb + GBML blog = LCS &amp; GBML Central'>LCSweb + GBML blog = LCS &amp; GBML Central</a></li>
<li><a href='http://www.xavierllora.net/2006/02/12/new-books-section-on-the-lcs-and-gbml-web/' rel='bookmark' title='Permanent Link: New books section on the LCS and GBML web'>New books section on the LCS and GBML web</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Today I finished migrating the <em>LCS &amp; GBML Central</em> site from its original URL (<a href="http://lcs-gbml.ncsa.uiuc.edu">http://lcs-gbml.ncsa.uiuc.edu</a>) to a more permanent and stable home located at <a href="http://gbml.org">http://gbml.org</a>. The original site is already currently redirecting the trafic to the new site, and it will be doing so for a while to help people transition and update bookmarks and feed readers.</p>
<p>I have introduced a few changes to the functionality of the original site. Functional changes can be mostly summarized by (1) dropping the forums section and (2) closing comments on posts and pages. Both functionalities, rarely used  in their current form, have been replaced by a simpler public embedded <a href="https://wave.google.com/">Wave</a> reachable at <a href="http://gbml.org/wave">http://gbml.org/wave</a>. The goal, provide people in the LCS &amp; GBML community a simpler way to discuss, share, and hang out.</p>
<p>About the feeds being aggregated, I have revised the list and added the feeds now available of the table of contents from</p>
<ul>
<li><a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=4235">IEEE Transactions on Evolutionary Computation</a></li>
<li><a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=4235"></a><a href="http://www.springerlink.com/content/101181/">Spinger&#8217;s Soft Computing</a></li>
<li><a href="http://www.springerlink.com/content/101181/"></a><a href="http://www.springerlink.com/content/108905/">Springer&#8217;s Natural Computing</a></li>
</ul>
<p>I have also added a few other links to relevant research groups doing work on related areas. Please, leave a comment on this post if you know/have a related site that could be aggregated, or if there are missing links to research groups or useful resources.</p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2009/05/13/lcs-gbml-central-back-to-production/' rel='bookmark' title='Permanent Link: LCS &#038; GBML Central back to production'>LCS &#038; GBML Central back to production</a></li>
<li><a href='http://www.xavierllora.net/2009/03/27/lcsweb-gbml-blog-lcs-gbml-central/' rel='bookmark' title='Permanent Link: LCSweb + GBML blog = LCS &amp; GBML Central'>LCSweb + GBML blog = LCS &amp; GBML Central</a></li>
<li><a href='http://www.xavierllora.net/2006/02/12/new-books-section-on-the-lcs-and-gbml-web/' rel='bookmark' title='Permanent Link: New books section on the LCS and GBML web'>New books section on the LCS and GBML web</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/06/03/lcs-gbml-central-get-a-new-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaling eCGA Model Building via Data-Intensive Computing</title>
		<link>http://www.xavierllora.net/2010/04/08/scaling-ecga-model-building-via-data-intensive-computing/</link>
		<comments>http://www.xavierllora.net/2010/04/08/scaling-ecga-model-building-via-data-intensive-computing/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:17:39 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Data-Intensive Computing]]></category>
		<category><![CDATA[Estimation of Distribution Algorithms]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[eCGA]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[map-reduce]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[pro]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=664</guid>
		<description><![CDATA[I just uploaded the technical report of the paper we put together for CEC 2010 on how we can scale up eCGA using a MapReduce approach. The paper, besides exploring the Hadoop implementation, it also presents some very compelling results obtained with MongoDB (a document based store able to perform parallel MapReduce tasks via sharding). [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2009/10/09/scaling-genetic-algorithms-using-mapreduce/' rel='bookmark' title='Permanent Link: Scaling Genetic Algorithms using MapReduce'>Scaling Genetic Algorithms using MapReduce</a></li>
<li><a href='http://www.xavierllora.net/2009/01/29/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre'>Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre</a></li>
<li><a href='http://www.xavierllora.net/2009/07/13/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre-2/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study using Meandre'>Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study using Meandre</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I just uploaded the technical report of the paper we put together for <a href="http://www.wcci2010.org/">CEC 2010</a> on how we can scale up eCGA using a MapReduce approach. The paper, besides exploring the <a href="http://hadoop.apache.org/">Hadoop</a> implementation, it also presents some very compelling results obtained with <a href="http://www.mongodb.org/display/DOCS/Home">MongoDB</a> (a document based store able to perform parallel MapReduce tasks via sharding). The paper is available as <a href="http://www.illigal.uiuc.edu/pub/papers/IlliGALs/2010001.pdf">PDF</a> and <a href="http://www.illigal.uiuc.edu/pub/papers/IlliGALs/2010001.ps.Z">PS</a>.</p>
<p><strong>Abstract:</strong><br />
This paper shows how the extended compact genetic algorithm can be scaled using data-intensive computing techniques such as MapReduce. Two different frameworks (Hadoop and MongoDB) are used to deploy MapReduce implementations of the compact and extended com- pact genetic algorithms. Results show that both are good choices to deal with large-scale problems as they can scale with the number of commodity machines, as opposed to previous ef- forts with other techniques that either required specialized high-performance hardware or shared memory environments.</p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2009/10/09/scaling-genetic-algorithms-using-mapreduce/' rel='bookmark' title='Permanent Link: Scaling Genetic Algorithms using MapReduce'>Scaling Genetic Algorithms using MapReduce</a></li>
<li><a href='http://www.xavierllora.net/2009/01/29/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre'>Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre</a></li>
<li><a href='http://www.xavierllora.net/2009/07/13/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre-2/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study using Meandre'>Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study using Meandre</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/04/08/scaling-ecga-model-building-via-data-intensive-computing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Soaring the Clouds with Meandre</title>
		<link>http://www.xavierllora.net/2010/03/15/soaring-the-clouds-with-meandre/</link>
		<comments>http://www.xavierllora.net/2010/03/15/soaring-the-clouds-with-meandre/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 22:55:11 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Data-Intensive Computing]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[meandre]]></category>
		<category><![CDATA[ZigZag]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=659</guid>
		<description><![CDATA[You may find the slide deck and the abstract for the presentation we delivered today at the &#8220;Data-Intensive Research: how should we improve our ability to use data&#8221; workshop in Edinburgh. Abstract This talk will focus a highly scalable data intensive infrastructure being developed at the National Center for Supercomputing Application (NCSA) at the University [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2008/11/15/meandre-semantic-driven-data-intensive-flows-in-the-clouds/' rel='bookmark' title='Permanent Link: Meandre: Semantic-Driven Data-Intensive Flows in the Clouds'>Meandre: Semantic-Driven Data-Intensive Flows in the Clouds</a></li>
<li><a href='http://www.xavierllora.net/2009/01/29/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre'>Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre</a></li>
<li><a href='http://www.xavierllora.net/2008/03/26/bdcsg2008-clouds-and-manycores-the-revolution-dan-reed/' rel='bookmark' title='Permanent Link: [BDCSG2008] Clouds and ManyCores: The Revolution (Dan Reed)'>[BDCSG2008] Clouds and ManyCores: The Revolution (Dan Reed)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>You may find the slide deck and the abstract for the presentation we delivered today at the <a href="http://wikis.nesc.ac.uk/escienvoy/Data-Intensive_Research:_how_should_we_improve_our_ability_to_use_data">&#8220;Data-Intensive Research: how should we improve our ability to use data&#8221;</a> workshop in Edinburgh.</p>
<p><center><object width="425&type=s" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=dir-workshop-20100315-100315174055-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=dir-workshop-20100315-100315174055-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425&type=s" height="348"></embed></object></center></p>
<p><strong>Abstract</strong></p>
<p>This talk will focus a highly scalable data intensive infrastructure being developed at the National Center for Supercomputing Application (NCSA) at the University of Illinois and will introduce current research efforts to tackle the challenges presented by big-data. Research efforts include exploring potential ways of integration between cloud computing concepts—such as Hadoop or Meandre—and traditional HPC technologies and assets. These architecture models contrast significantly, but can be leveraged by building cloud conduits that connect these resources to provide even greater flexibility and scalability on demand. Orchestrating the physical computational environment requires innovative and sophisticated software infrastructure that can transparently take advantage of the functional features and to negotiate the constraints imposed by this diversity of computational resources. Research conducted during the development of the Meandre infrastructure has lead to the production of an agile conductor able to leverage the particular advantages in the physical diversity. It can also be implemented as services and/or in the context of another application benefitting from it reusability, flexibility, and high-scalability. Some example applications and an introduction to the data intensive infrastructure architecture will be presented to provide an overview of the diverse scope of Meandre usages. Finally, a case will be presented showing how software developers and system designers can easily transition to these new paradigms to address the primary data-deluge challenges and to soar to new heights with extreme application scalability using cloud computing concepts.</p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2008/11/15/meandre-semantic-driven-data-intensive-flows-in-the-clouds/' rel='bookmark' title='Permanent Link: Meandre: Semantic-Driven Data-Intensive Flows in the Clouds'>Meandre: Semantic-Driven Data-Intensive Flows in the Clouds</a></li>
<li><a href='http://www.xavierllora.net/2009/01/29/data-intensive-computing-for-competent-genetic-algorithms-a-pilot-study-using-meandre/' rel='bookmark' title='Permanent Link: Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre'>Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study using  Meandre</a></li>
<li><a href='http://www.xavierllora.net/2008/03/26/bdcsg2008-clouds-and-manycores-the-revolution-dan-reed/' rel='bookmark' title='Permanent Link: [BDCSG2008] Clouds and ManyCores: The Revolution (Dan Reed)'>[BDCSG2008] Clouds and ManyCores: The Revolution (Dan Reed)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/03/15/soaring-the-clouds-with-meandre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fast REST API prototyping with Crochet and Scala</title>
		<link>http://www.xavierllora.net/2010/01/21/fast-rest-api-prototyping-with-crochet-and-scala/</link>
		<comments>http://www.xavierllora.net/2010/01/21/fast-rest-api-prototyping-with-crochet-and-scala/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:59:59 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[Crochet]]></category>
		<category><![CDATA[meandre]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[SEASR]]></category>

		<guid isPermaLink="false">http://www.xavierllora.net/?p=650</guid>
		<description><![CDATA[I just finished committing the last changes to Crochet and tagged version 0.1.4vcli now publicly available on GitHub (http://github.com/xllora/Crochet). Also feel free to visit the issues page in case you run into question/problems/bugs. Motivation Crochet is a light weight web framework oriented to rapid prototyping of REST APIs. If you are looking for a Rails [...]


Related posts:<ol><li><a href='http://www.xavierllora.net/2010/07/15/meandre-2-0-alpha-preview-scala-mongodb/' rel='bookmark' title='Permanent Link: Meandre 2.0 Alpha Preview = Scala + MongoDB'>Meandre 2.0 Alpha Preview = Scala + MongoDB</a></li>
<li><a href='http://www.xavierllora.net/2009/12/01/meandre-is-going-scala/' rel='bookmark' title='Permanent Link: Meandre is going Scala'>Meandre is going Scala</a></li>
<li><a href='http://www.xavierllora.net/2008/11/13/fast-mutation-implementation-for-genetic-algorithms-in-python/' rel='bookmark' title='Permanent Link: Fast mutation implementation for genetic algorithms in Python'>Fast mutation implementation for genetic algorithms in Python</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I just finished committing the last changes to <em>Crochet</em> and tagged version 0.1.4vcli now publicly available on GitHub (<a href="http://github.com/xllora/Crochet">http://github.com/xllora/Crochet</a>).  Also feel free to visit the <a href="http://github.com/xllora/Crochet/issues">issues</a> page in case you run into question/problems/bugs.</p>
<h2>Motivation</h2>
<p><em>Crochet</em> is a light weight web framework oriented to rapid prototyping of REST APIs. If you are looking for a <a href="http://rubyonrails.org/">Rails</a> like framework written in <a href="http://www.scala-lang.org/">Scala</a>, please take a look at Lift at <a href="http://liftweb.net/">http://liftweb.net/</a> instead.</p>
<p><a href="http://github.com/xllora/Crochet">Crochet</a> targets quick prototyping of REST APIs relying on the flexibility of the <a href="http://www.scala-lang.org/">Scala</a> language. The initial ideas for Crochet were inspired while reading Gabriele Renzi post on creating the <a href="http://www.riffraff.info/2009/4/11/step-a-scala-web-picoframework">STEP</a> picoframework with <a href="http://www.scala-lang.org/">Scala</a> and the need for quickly prototyping APIs for pilot projects. <em>Crochet</em> also provides mechanisms to hide repetitive tasks involved with default responses and authentication/authorization piggybacking on the mechanics provided by application servers.</p>
<h2>Who uses Crochet?</h2>
<p><em>Crochet</em> was born from the need for quickly prototyping REST APIs which required exposing legacy code written in Java. I have been actively using <a href="http://github.com/xllora/Crochet">Crochet</a> to provide REST APIs for a variety of projects developed at the <a href="http://www.ncsa.illinois.edu">National Center for Supercomputing Applications</a>. One of the primary adopters and movers of <em>Crochet</em> is the <a href="http://seasr.org/meandre/">Meandre</a> Infrastructure for data-intensive computing developed under the <a href="http://seasr.org/">SEASR</a> project.</p>
<h2>Crochet in 2 minuts</h2>
<p>Before you start please check you have <a href="http://www.scala-lang.org/">Scala</a> installed on your system. You can find more information on how to get Scala up and running <a href="http://www.scala-lang.org/downloads">here</a>.</p>
<ol>
<li>Get the latest <em>Crochet</em> jar from the <a href="http://github.com/xllora/Crochet/downloads">Downloads</a> section at <a href="http://github.com/xllora/Crochet/">GitHub</a> and the third party dependencies. </li>
<li>Copy the following code into a file named <code>hello-world.scala</code>.

<div class="wp_syntax"><div class="code"><pre class="scala" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">import</span> crochet.<span style="color: #000080;">_</span>
<span style="color: #0000ff; font-weight: bold;">new</span> Crochet <span style="color: #F78811;">&#123;</span>
     get<span style="color: #F78811;">&#40;</span><span style="color: #6666FF;">&quot;/message&quot;</span><span style="color: #F78811;">&#41;</span> <span style="color: #F78811;">&#123;</span> 
         <span style="color: #000080;">&lt;</span>html<span style="color: #000080;">&gt;</span>
               <span style="color: #000080;">&lt;</span>head<span style="color: #000080;">&gt;&lt;</span>title<span style="color: #000080;">&gt;</span>Hello World<span style="color: #000080;">&lt;</span>/title<span style="color: #000080;">&gt;&lt;</span>/head<span style="color: #000080;">&gt;</span>
               <span style="color: #000080;">&lt;</span>body<span style="color: #000080;">&gt;&lt;</span>h1<span style="color: #000080;">&gt;</span>Hello World<span style="color: #000080;">!&lt;</span>/h1<span style="color: #000080;">&gt;&lt;</span>/body<span style="color: #000080;">&gt;</span>
         <span style="color: #000080;">&lt;</span>/html<span style="color: #000080;">&gt;</span>
     <span style="color: #F78811;">&#125;</span>
<span style="color: #F78811;">&#125;</span> on <span style="color: #F78811;">8080</span></pre></div></div>

</li>
<li>Get your server up and running by running (please change the version number if needed)
<pre>$ scala -cp crochet-0.1.4.jar:crochet-3dparty-libraries-0.1.X.jar hello-world.scala</pre>
</li>
<p>You just have your first _Crochet_ API up and running. You can check the API working by opening your browser and pointing it to <a href="http://localhost:8080/message">http://localhost:8080/message</a> and you should get the message <code>Hello World!</code> back.</p>
<h2>Where to go from here?</h2>
<p>You will find more information on the <a href="http://wiki.github.com/xllora/Crochet/">Crochet wiki</a> at <a href="http://github.com/xllora/Crochet">GitHub</a>. The wiki contains basic information as a QuickStart guide (which also includes how to deal with static content), descriptions of the basic concepts used in <em>Crochet</em>, and several examples that can get up and running fast. </p>


<p>Related posts:<ol><li><a href='http://www.xavierllora.net/2010/07/15/meandre-2-0-alpha-preview-scala-mongodb/' rel='bookmark' title='Permanent Link: Meandre 2.0 Alpha Preview = Scala + MongoDB'>Meandre 2.0 Alpha Preview = Scala + MongoDB</a></li>
<li><a href='http://www.xavierllora.net/2009/12/01/meandre-is-going-scala/' rel='bookmark' title='Permanent Link: Meandre is going Scala'>Meandre is going Scala</a></li>
<li><a href='http://www.xavierllora.net/2008/11/13/fast-mutation-implementation-for-genetic-algorithms-in-python/' rel='bookmark' title='Permanent Link: Fast mutation implementation for genetic algorithms in Python'>Fast mutation implementation for genetic algorithms in Python</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xavierllora.net/2010/01/21/fast-rest-api-prototyping-with-crochet-and-scala/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
