<?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>Bleeding Edge Biotech &#187; Ruby</title>
	<atom:link href="http://www.bleedingedgebiotech.com/blog/category/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bleedingedgebiotech.com/blog</link>
	<description>Bioinformatics and Big Iron</description>
	<lastBuildDate>Fri, 15 Jul 2011 17:57:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Using Ruby for Bioinformatics Applications</title>
		<link>http://www.bleedingedgebiotech.com/blog/programming/using-ruby-for-bioinformatics-applications/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/programming/using-ruby-for-bioinformatics-applications/#comments</comments>
		<pubDate>Tue, 06 May 2008 16:01:59 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Bioinformatics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/?p=63</guid>
		<description><![CDATA[When I started working in a bioinformatics research lab I quickly discovered the wonderful dynamic language that is Perl. I&#8217;ve spent a couple of years with Mastering Perl for Bioinformatics somewhere on or around my desk. Perl itself was designed with text-processing and reporting in mind so naturally it&#8217;s become widely used when handling biological [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://bioruby.open-bio.org/images/bioruby-gem.png" alt="bioruby" /></p>
<p>When I started working in a bioinformatics research lab I quickly discovered the wonderful dynamic language that is <a title="The Perl Directory - perl.org" href="http://www.perl.org/">Perl</a>.  I&#8217;ve spent a couple of years with <a title="O'Reilly Media | Mastering Perl for Bioinformatics" href="http://www.oreilly.com/catalog/mperlbio/">Mastering Perl for Bioinformatics</a> somewhere on or around my desk.  Perl itself was designed with text-processing and reporting in mind so naturally it&#8217;s become widely used when handling biological data.</p>
<p>So everything bioinformatics should be coded in Perl, right?  A couple of years ago I might have agreed, but now I feel differently.  My first <a href="http://www.xkcd.com/353/">&#8220;Perl, I&#8217;m leaving you.&#8221;</a> moment came when I discovered the way that Rails does web programming.  Ruby is the magic in Rails, but I soon discovered Ruby goes much beyond web frameworks.  To quote <a href="http://brainspl.at/">Ezra</a>:</p>
<h3><em>&#8220;I came for the Rails, but I stayed for the Ruby&#8221;</em></h3>
<p>I wanted to compile some links to show how an active community is positioning Ruby to be a powerful language for bioinformatics programming:</p>
<p><a title="BioRuby" href="http://bioruby.open-bio.org/">BioRuby &#8211; open source bioinformatics library</a></p>
<p><a href="http://github.com/bioruby/bioruby/tree" title="bioruby's bioruby at master &mdash; GitHub">BioRuby on Github</a></p>
<h3>Web Frameworks</h3>
<p><a title="Ruby on Rails" href="http://www.rubyonrails.org/">Ruby on Rails</a> &#8211; the famous MVC framework that made ruby popular</p>
<p><a title="Merb | Looking for a better framework?" href="http://merbivore.com/">Merb</a> &#8211; fast, lightweight MVC framework</p>
<p><a title="RedHanded &amp;amp;amp;raquo; Camping is a Microframework" href="http://redhanded.hobix.com/bits/campingAMicroframework.html" class="broken_link">Camping</a> &#8211; 5k microframework</p>
<p><a title="Sinatra: Classy web-development dressed in a DSL for Ruby" href="http://sinatrarb.com/">Sinatra</a> &#8211; web development DSL</p>
<p><a href="http://ramaze.net/" title="home    [Ramaze]">Ramaze</a> &#8211; simple, light, and modular web application framework</p>
<p><a href="http://rack.rubyforge.org/" title="Rack: a Ruby Webserver Interface">Rack</a> &#8211; Webserver interface</p>
<h3>Distributed/Parallel Computing</h3>
<p><a title="Intro to DRb" href="http://chadfowler.com/ruby/drb.html" class="broken_link">DRb- Distributed Ruby</a></p>
<p><a title="Skynet: MapReduce in Ruby on Dion Almaer's Blog" href="http://almaer.com/blog/skynet-mapreduce-in-ruby">SkyNet- Map Reduce in Ruby</a></p>
<p><a title="How to use Ruby's Rinda::Ring" href="http://segment7.net/projects/ruby/drb/rinda/ringserver.html">Rinda</a> &#8211; Linda parallel programming model in Ruby</p>
<p><a title="The Xgrid Tutorials (Part IV): Submit Jobs with Ruby | MacResearch" href="http://macresearch.org/the_xgrid_tutorials_part_iv_submit_jobs_with_ruby">rxgrid</a> &#8211;  Xgrid batch language</p>
<p><a title="freshmeat.net: Project details for MPI Ruby" href="http://freshmeat.net/projects/mpi_ruby/">MPI Ruby</a> &#8211; MPI bindings for Ruby</p>
<p><a title="A Ruby Gem that gives you full access to the Amazon EC2 API from your Ruby/Ruby on Rails apps" href="http://github.com/grempe/amazon-ec2/tree/master">amazon-ec2</a> &#8211; Amazon EC2 API</p>
<h3>Testing/Spec</h3>
<p><a title="RSpec-1.1.3: Overview" href="http://rspec.info/">RSpec</a> &#8211; <a title="Behavior Driven Development - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Behavior_driven_development">BDD</a> framework</p>
<p><a title="Module: Test::Unit" href="http://stdlib.rubyonrails.org/libdoc/test/unit/rdoc/classes/Test/Unit.html">Test::Unit</a> &#8211; Unit testing in the Ruby standard library</p>
<h3>Integration with other programming languages</h3>
<p><a title="JRuby - Home" href="http://jruby.codehaus.org/">JRuby</a> &#8211; JVM ruby implementation</p>
<p><a title="SWIG and Ruby" href="http://www.swig.org/Doc1.3/Ruby.html">SWIG and Ruby</a> &#8211; automatically generate C interfaces</p>
<p><a title="How to create a Ruby extension in C in under 5 minutes" href="http://www.rubyinside.com/how-to-create-a-ruby-extension-in-c-in-under-5-minutes-100.html">Ruby C extensions</a></p>
<h3>Math/Statistics</h3>
<p><a href="http://rb-gsl.rubyforge.org/" title="Ruby/GSL">Ruby-GSL</a> &#8211; wrapper for the GNU Scientific Library</p>
<p><a title="RubyForge: RSRuby: Project Info" href="http://rubyforge.org/projects/rsruby/">RSRuby</a>- R statistics package in Ruby</p>
<p><a href="http://sciruby.codeforpeople.com/" title="FrontPage - SciRuby" class="broken_link">SciRuby</a></p>
<p><a title="Numerical Ruby NArray" href="http://narray.rubyforge.org/">Ruby NArray</a> &#8211; similar to <a href="http://numpy.scipy.org/" title="Numpy Home Page">NumPy</a></p>
<h3>Visualization/Graphics</h3>
<p><a href="http://rgplot.rubyforge.org/" title="Ruby Gnuplot - How To">Ruby Gnuplot</a> &#8211; Gnuplot bindings</p>
<p><a title="The Shoebox ? Ruby-Processing" href="http://www.the-shoebox.org/apps/44">Ruby-Processing</a> &#8211; The Processing language in Ruby</p>
<p><a title="ruby-opengl -- Home" href="http://ruby-opengl.rubyforge.org/">ruby-opengl</a> &#8211; OpenGL bindings</p>
<p><a title="Gruff Graphs for Ruby | Ruby on Rails for Newbies" href="http://nubyonrails.com/pages/gruff" class="broken_link">Gruff</a> &#8211; Graph API</p>
<p><a title="Ruby SVG::Graph" href="http://www.germane-software.com/software/SVG/SVG::Graph/">Ruby-SVG</a> &#8211; SVG Graphics</p>
<p><a title="Ruby Gnuplot - How To" href="http://rgplot.rubyforge.org/">Ruby Gnuplot</a></p>
<h3>Machine Learning</h3>
<p><a href="http://web.media.mit.edu/~dustin/papers/ai_ruby_plugins/" title="AI Related Ruby Extensions">AI Related Ruby Extensions</a></p>
<p><a title="Support Vector Machines (SVM) in Ruby - igvita.com" href="http://www.igvita.com/2008/01/07/support-vector-machines-svm-in-ruby/">Support Vector Machines in Ruby</a></p>
<p><a title="ruby-fann" href="http://ruby-fann.rubyforge.org/">Fast Artificial Neural Network library</a></p>
<h3>Blogs about bioinformatics and Ruby</h3>
<p><a href="http://saaientist.blogspot.com/">Saaien Tist</a> &#8211; Jan Aerts, on bioinformatics and personal productivity</p>
<p><a href="http://www.bioinformaticszen.com/">Bioinformatics Zen</a> &#8211; Micheal Barton</p>
<p>Be sure to visit the <a href="http://friendfeed.com/rooms/ruby-for-bioinformatics" title="Ruby for Bioinformatics - FriendFeed">Ruby for Bioinformatics room on FriendFeed</a> for even more Ruby goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/programming/using-ruby-for-bioinformatics-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Pipeline is a Rakefile</title>
		<link>http://www.bleedingedgebiotech.com/blog/ruby/a-pipeline-is-a-rakefile/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/ruby/a-pipeline-is-a-rakefile/#comments</comments>
		<pubDate>Fri, 02 May 2008 17:02:29 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/?p=79</guid>
		<description><![CDATA[Update: Mike over at Bioinformatics Zen has written a more thorough post about organised bioinformatics experiments with examples using Rake and DataMapper. Definitely check that out. image credit: railsenvy.com Make and it&#8217;s other revisionings tackle the challenging problem of dependency injection which is somewhat analogous to the Strategy pattern. Make is a tried and true [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> Mike over at <a href="http://www.bioinformaticszen.com/" title="Bioinformatics Zen">Bioinformatics Zen</a> has written a more thorough post about <a href="http://www.bioinformaticszen.com/2008/05/organised-bioinformatics-experiments/" class="broken_link">organised bioinformatics experiments</a> with examples using Rake and DataMapper.  Definitely check that out.<br />
<br />
<img src="http://www.railsenvy.com/assets/2007/6/8/monkey_rake_small.jpg"/></p>
<p><small><br />image credit: <a href="http://www.railsenvy.com/" title="Rails Envy - It's not the size of the app that matters, it's how you code it">railsenvy.com</a></small></p>
<p><a href="http://en.wikipedia.org/wiki/GNU_build_system" title="GNU build system">Make</a> and it&#8217;s other revisionings tackle the challenging problem of <a href="http://en.wikipedia.org/wiki/Dependency_injection">dependency injection</a> which is somewhat analogous to the <a href="http://en.wikipedia.org/wiki/Strategy_pattern" title="Strategy pattern">Strategy pattern</a>.  Make is a tried and true Unix utility that does the heavy lifting each time you type &#8220;./configure; make &amp;&amp; make install&#8221; inside a large chunk of open source goodness.  Make became such a popular tool because it drastically reduced compilation times for large programs.  In compiled languages such as C, each time a source file is changed it needs to be recomplied.  Rather than rebuild the entire project everytime the source code is changed, an expert (a C programmer in this case) can specify dependencies so that make will build only the files that change and their dependencies.  In that sense, it&#8217;s easy to take for granted how powerful a Makefile actually is.  Make is an <a href="http://en.wikipedia.org/wiki/Expert_system" title="Expert system">expert system</a> that&#8217;s ubiquitous in the Unix world.</p>
<p>A makefile has the basic structure:</p>
<pre class="prettyprint">

	target: dependencies

		command 1

		command 2

	          .

	          .

	          .

		command n
</pre>
<p>Which brings us to the actual point of this post; how to use Makefiles in bioinformatics.  There&#8217;s <a href="http://www.nodalpoint.org/2007/03/18/a_pipeline_is_a_makefile" class="broken_link">a discussion on nodalpoint from 2007</a> that calls for the use of `make` more often when programming pipelines.  This made perfect sense.  In bioinformatics we do pipelines all the time.</p>
<p><strong>Sequence analysis</strong></p>
<p>Blast search -> Multiple sequence alignment -> Phylogenetic analysis</p>
<p></p>
<p><strong>Homology Modeling</strong></p>
<p>Find Template -> Align target-template -> Build model</p>
<p></p>
<p><strong>Molecular Dynamics</strong></p>
<p>Solvate -> Equilibrate -> Simulate -> Analyze</p>
<p></p>
<p>Those aren&#8217;t the most detailed examples but hopefully you get the idea.  Each step is dependent on the previous step.  If one single step takes a lot of computation time, it would be nice to skip that step if it&#8217;s already been done.  There&#8217;s also a benefit to encoding expert knowledge.  For example, how do you convert a .fasta sequence file to a .pir sequence file?  By specifying a rule, a build system will know what to do everytime is sees a &#8216;*.fasta&#8217; file in your project.</p>
<pre class="prettyprint">

	%.pir: %.fasta

	./fasta2pir $< $@
</pre>
<p>But Makefile syntax can be tricky (is that a tab or a space?), and it's not a full blown programming language by itself.  Which is why I fell in love Rake.</p>
<p></p>
<p>Anyone who has tried out <a href="http://www.rubyonrails.org/" title="Ruby on Rails">Ruby on Rails</a> probably typed something like "rake db:migrate" without realizing what rake is all about.  Rake is Ruby Make.  Rake was designed to be just like make, but with all the power and flexibility of the Ruby programming language.  A Rakefile is simply a set of tasks, which can have one or more dependencies.  Unlike make, rake is an <a href="http://www.martinfowler.com/bliki/DomainSpecificLanguage.html" title="MF Bliki: DomainSpecificLanguage">internal DSL</a> since it morphs Ruby into a build language without losing it's utility as a general purpose language.</p>
<p>A simple Rakefile in your bioinformatics project could do something like this:</p>
<pre class="prettyprint">

	task :queryDatabase do

	  puts "Fetched Records"

	end

	task :formatData => :queryDatabase do

	  puts "Converted to XXX format"

	end

	task :createPlot => :formatData do

	  puts "Generated a Figure"

	end	
</pre>
<p>This says "before I formatData I must queryDatabase", and "before I createPlot I must formatData".  So as you might expect, when you type:</p>
<pre class="prettyprint">

	$ rake queryDatabase

	Fetched Records

	$ rake formatData

	Fetched Records

	Converted to XXX format

	$ rake createPlot

	Fetched Records

	Converted to XXX format

	Generated a Figure
</pre>
<p>And our Fasta rule in Rake would look like:</p>
<pre class="prettyprint">

	rule '.pir' => ['.fasta'] do |t|

	  sh "./fasta2pir #{t.source} #{t.name}"

	end 
</pre>
<p>Pretty cool?  Obviously these tasks don't actually do much other than show how rake resolves dependencies for you, which can be a pretty powerful thing for hacking together a pipeline.</p>
<p></p>
<p>Rake resources:</p>
<p></p>
<ul>
<li><a href="http://www.martinfowler.com/articles/rake.html" title="Using the Rake Build Language">Martin Fowler: Using the Rake Build Language</a></li>
<li><a href="http://saaientist.blogspot.com/2007/10/using-rake-to-manage-your-software.html" title="Saaien Tist: Using rake to manage your software project">Saaien Tist: Using Rake to manage your software project</a></li>
<li>
<p><a href="http://rake.rubyforge.org/" title="Rake -- Ruby Make">Rake @ Rubyforge</a>	</p>
</li>
<li>
<p><a href="http://www.railsenvy.com/2007/6/11/ruby-on-rails-rake-tutorial" title="Rails Envy: Ruby on Rails Rake Tutorial (aka. How rake turned me into an alcoholic)">Rails Envy: Rake Tutorial</a>	</p>
</li>
<li>
<p><a href="http://rake.rubyforge.org/files/doc/rakefile_rdoc.html" title="Rakefile">Rakefile format</a></p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/ruby/a-pipeline-is-a-rakefile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Around the web 3/7/08</title>
		<link>http://www.bleedingedgebiotech.com/blog/ruby/around-the-web-3708/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/ruby/around-the-web-3708/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 16:29:32 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Science Blogs]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/ruby/around-the-web-3708/</guid>
		<description><![CDATA[Around the web, week of March 7, 2008 Bio::Blogs #19, the engineering edition! BuzzClouds in science, a very cool vizualization of scientific buzzwords and trending. (service) Backward compatibility ≠ Forward Scalability, Intel places some caveats on the free-lunch, legacy software won&#8217;t take advantage of future architectures unless they&#8217;re redesigned. This shouldn&#8217;t be a surprise but [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bleedingedgebiotech.com/blog/wp-content/uploads/2008/03/picture_6.png" alt="rb-processing" /></p>
<p>Around the web, week of March 7, 2008</p>
<ul>
<li><a href="http://duncan.hull.name/2008/03/07/bioblogs-19-bioengineering/">Bio::Blogs #19, the engineering edition!</a></li>
<li><a href="http://larsjuhljensen.wordpress.com/2008/02/29/resource-the-buzzcloud-visualization-of-buzzwords/"> BuzzClouds in science</a>, a very cool vizualization of scientific buzzwords and trending. <a href="http://www.bork.embl.de/~jensen/BuzzClouds/">(service)</a></li>
<li><a href="http://blogs.intel.com/research/2008/03/backward_compatibility_forward.php">Backward compatibility ≠ Forward Scalability</a>, Intel places some caveats on the free-lunch, legacy software won&#8217;t take advantage of future architectures unless they&#8217;re redesigned.  This shouldn&#8217;t be a surprise but it hasn&#8217;t always been the case.  The trend of adding more cores and changing memory architectures means that some applications may get left in the dust unless they&#8217;re optimized for these new paradigms.</li>
<li><a href="http://tiago.org/ps/2008/03/03/dsls-specification-and-behavior/" class="broken_link">DSL specification and behavior</a>, a great example of building a DSL in Groovy for bioinformatics.</li>
<li><a href="http://feeds.feedburner.com/~r/BioinformaticsZen/~3/246933973/" class="broken_link">BioRuby on Rails</a>, some good examples of how to fetch EBI records on the web using ActiveRecord for persistance.</li>
<li><a href="http://feeds.feedburner.com/~r/RubyInside/~3/243313167/using-the-processing-graphics-system-from-ruby-780.html">Ruby-Processing</a>, a bridge to use the <a href="http://processing.org/reference/" title="Language (API) \ Processing 1.0 (BETA)">Processing API</a> in the Ruby language.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/ruby/around-the-web-3708/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A domain specific language for screencasting</title>
		<link>http://www.bleedingedgebiotech.com/blog/ruby/a-domain-specific-language-for-screencasting/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/ruby/a-domain-specific-language-for-screencasting/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 22:32:15 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/ruby/a-domain-specific-language-for-screencasting/</guid>
		<description><![CDATA[Two topics that I have been been reading a lot lately, Domain Specific Languages in Ruby and screencasting have converged to create a very cool little project called Castanaut. I found Castanaut via Peter Cooper of Ruby Inside. Castanaut is essentially a programming language for screencasts. So in castanaut you can write things like this: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bleedingedgebiotech.com/blog/wp-content/uploads/2008/02/picture-2.jpg"><img src="http://www.bleedingedgebiotech.com/blog/wp-content/uploads/2008/02/picture-2.jpg" alt="castanaut" /></a></p>
<p>Two topics that I have been been reading a lot lately, <a href="http://en.wikipedia.org/wiki/Domain-specific_programming_language" title="Domain-specific programming language - Wikipedia, the free encyclopedia">Domain Specific Languages</a> in <a href="http://www.ruby-lang.org/" title="Ruby Programming Language">Ruby</a> and screencasting have converged to create a very cool little project called <a href="http://gadgets.inventivelabs.com.au/castanaut" title="Castanaut: Ruby-powered OS X Screencasting DSL">Castanaut</a>.  I found <a href="http://gadgets.inventivelabs.com.au/castanaut" title="Castanaut: Ruby-powered OS X Screencasting DSL">Castanaut</a> via Peter Cooper of <a href="http://www.rubyinside.com/" title="Ruby Inside: Ruby blog with daily tips, news, code and fun">Ruby Inside</a>.  Castanaut is essentially a programming language for screencasts.  So in castanaut you can write things like this:</p>
<pre>

launch "Safari", at(10, 10, 800, 600)

type "http://www.inventivelabs.com.au"

hit Enter

pause 2

move to(100, 100)

move to(200, 100)

move to(200, 200)

move to(100, 200)

move to(100, 100)

say "I drew a square!"
</pre>
<p>Thanks to the flexibility of Ruby, you can write your screenplay as a script and run it to automatically create a screencast.  How cool is that?  While this might take some of the personal touch away from screencasts, it could also be a powerful tool for those who need to create them in a more systematic way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/ruby/a-domain-specific-language-for-screencasting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby on Grids</title>
		<link>http://www.bleedingedgebiotech.com/blog/grid-computing/ruby-on-grids/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/grid-computing/ruby-on-grids/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 04:35:04 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Grid Computing]]></category>
		<category><![CDATA[Parallel Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/?p=26</guid>
		<description><![CDATA[Eric Rollins did some interesting tests with Ruby. It should be possible to run parallel tasks effectively with DRb. I am going to do some more playing around with this. The Ruby fanfare on the net seems to be approaching the &#8220;multi-core&#8221; crisis and several bloggers are talking about Ruby as a language for parallel [...]]]></description>
			<content:encoded><![CDATA[<p>Eric Rollins did some <a href="http://eric_rollins.home.mindspring.com/ParallelRuby.html" target="_blank">interesting tests</a> with Ruby.  It should be possible to run parallel tasks effectively with <a href="http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html">DRb</a>.  I am going to do some more playing around with this.</p>
<p>The Ruby fanfare on the net seems to be approaching the &#8220;multi-core&#8221; crisis and several bloggers are talking about Ruby as a language for parallel environments.</p>
<p><a href="http://www.oreillynet.com/ruby/blog/2007/06/multicore_hardware_and_the_fut.html" target="_blank">Multicore Hardware and the Future of Ruby</a><br />
<a href="http://www.loudthinking.com/posts/7-multi-core-hysteria-and-the-thread-confusion">Multi-core hysteria and the thread confusion</a><br />
<a href="http://www.thinkingparallel.com/2007/06/20/news-for-week-252007/" rel="bookmark">News for Week 25/2007</a><br />
<a href="http://www.igvita.com/blog/2007/05/15/distributed-ruby-workers-on-ec2/">Distributed Ruby Workers on EC2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/grid-computing/ruby-on-grids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scraping Podcast RSS with Ruby</title>
		<link>http://www.bleedingedgebiotech.com/blog/ruby/scraping-podcast-rss-with-ruby/</link>
		<comments>http://www.bleedingedgebiotech.com/blog/ruby/scraping-podcast-rss-with-ruby/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 04:48:04 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.bleedingedgebiotech.com/blog/?p=22</guid>
		<description><![CDATA[I was using iTunes to listen to podcasts but I hardly ever put them on my ipod. Recently, iTunes wouldn&#8217;t let me download every podcast for a channel (ironically, the rubyology channel). So I thought a Ruby command-line utility might be nice. I also learned some YAML thanks to Rubyology, so why not have a [...]]]></description>
			<content:encoded><![CDATA[<p>I was using iTunes to listen to podcasts but I hardly ever put them on my ipod.  Recently, iTunes wouldn&#8217;t let me download every podcast for a channel (ironically, the <a href="http://rubyology.com/">rubyology</a> channel).  So I thought a Ruby command-line utility might be nice.</p>
<p>I also learned some <a href="http://www.yaml.org/">YAML</a> thanks to Rubyology, so why not have a subscriptions.yaml<br />
<span id="more-22"></span></p>
<p><a href="http://bleedingedgebiotech.com/code/rpodcast.html" class="broken_link">rPodcast.rb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bleedingedgebiotech.com/blog/ruby/scraping-podcast-rss-with-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

