<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Frank Carver&#039;s Punch Barrel &#187; ruby</title>
	<atom:link href="http://blog.punchbarrel.com/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.punchbarrel.com</link>
	<description>Frank Carver&#039;s musings about software and life</description>
	<lastBuildDate>Thu, 08 Dec 2011 22:58:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<copyright>Copyright &#xA9; Frank Carver&#039;s Punch Barrel 2010 </copyright>
	<managingEditor>frank.carver@googlemail.com (Frank Carver&#039;s Punch Barrel)</managingEditor>
	<webMaster>frank.carver@googlemail.com (Frank Carver&#039;s Punch Barrel)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://punchbarrel.com/images/punchbarrel-144.jpg</url>
		<title>Frank Carver&#039;s Punch Barrel</title>
		<link>http://blog.punchbarrel.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Frank Carver&#039;s musings about software and life</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Frank Carver&#039;s Punch Barrel</itunes:author>
	<itunes:owner>
		<itunes:name>Frank Carver&#039;s Punch Barrel</itunes:name>
		<itunes:email>frank.carver@googlemail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://punchbarrel.com/images/punchbarrel-144.jpg" />
		<item>
		<title>Building a Twitter Filter With Sinatra, Redis, and TweetStream</title>
		<link>http://blog.punchbarrel.com/2010/04/30/building-a-twitter-filter-with-sinatra-redis-and-tweetstream/</link>
		<comments>http://blog.punchbarrel.com/2010/04/30/building-a-twitter-filter-with-sinatra-redis-and-tweetstream/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 09:52:17 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1500</guid>
		<description><![CDATA[I&#8217;m still collecting resources for a potential Sinatra/Redis project and this looks like a useful tutorial: Building a Twitter Filter With Sinatra, Redis, and TweetStream @ DigitalHobbit.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still collecting resources for a potential Sinatra/Redis project and this looks like a useful tutorial:</p>
<p><a href="http://www.digitalhobbit.com/2009/11/08/building-a-twitter-filter-with-sinatra-redis-and-tweetstream/">Building a Twitter Filter With Sinatra, Redis, and TweetStream @ DigitalHobbit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2010/04/30/building-a-twitter-filter-with-sinatra-redis-and-tweetstream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sinatra Turns 1.0</title>
		<link>http://blog.punchbarrel.com/2010/04/26/sinatra-turns-1-0/</link>
		<comments>http://blog.punchbarrel.com/2010/04/26/sinatra-turns-1-0/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 08:46:10 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[versions]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1483</guid>
		<description><![CDATA[I&#8217;m not really an eager version-watcher, but I do have a soft spot for the ruby web framework Sinatra. It&#8217;s nice to see that the Sinatra team are confident enough to give it a &#8220;1.0&#8243;. Deceptive Simplicity: Sinatra Turns 1.0]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not really an eager version-watcher, but I do have a soft spot for the <a href="http://www.sinatrarb.com/">ruby web framework Sinatra</a>. It&#8217;s nice to see that the Sinatra team are confident enough to give it a &#8220;1.0&#8243;.</p>
<p><a href="http://www.infoq.com/news/2010/04/sinatra-10">Deceptive Simplicity: Sinatra Turns 1.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2010/04/26/sinatra-turns-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically provision virtual machines from ruby with Vagrant</title>
		<link>http://blog.punchbarrel.com/2010/04/13/dynamically-provision-virtual-machines-from-ruby-with-vagrant/</link>
		<comments>http://blog.punchbarrel.com/2010/04/13/dynamically-provision-virtual-machines-from-ruby-with-vagrant/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 11:55:36 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[vagrant]]></category>
		<category><![CDATA[vdi]]></category>
		<category><![CDATA[virtual]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1424</guid>
		<description><![CDATA[I have been doing a lot of work with virtual machines recently. It&#8217;s a great way to sidestep machine-specific issues (Windows, I&#8217;m looking at you) and set up a consistent development/deployment environment. However, downloading, installing, updating and setting up each new image has been increasingly tedious. Vagrant looks like a brilliant idea to enable automation [...]]]></description>
			<content:encoded><![CDATA[<p>I have been doing a lot of work with virtual machines recently. It&#8217;s a great way to sidestep machine-specific issues (Windows, I&#8217;m looking at you) and set up a consistent development/deployment environment.</p>
<p>However, downloading, installing, updating and setting up each new image has been increasingly tedious. <a href="http://vagrantup.com/">Vagrant</a> looks like a brilliant idea to enable automation of the whole process. I would try this out immediately, except that most of my Ruby development environments are already running inside a Virtualbox VM, and it&#8217;s not very likely that one will fit inside another <img src='http://blog.punchbarrel.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2010/04/13/dynamically-provision-virtual-machines-from-ruby-with-vagrant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sinatra on Java</title>
		<link>http://blog.punchbarrel.com/2010/04/09/sinatra-on-java/</link>
		<comments>http://blog.punchbarrel.com/2010/04/09/sinatra-on-java/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 08:20:49 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[stringtree]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[war]]></category>
		<category><![CDATA[warbler]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1436</guid>
		<description><![CDATA[I originally chose to work in Ruby for its ease of deployment to low-cost shared hosting services, but as time has progressed I have become more comfortable with the language and a selection of tools and libraries. One that I like a lot is the Sinatra web framework. Interestingly it now appears that if I [...]]]></description>
			<content:encoded><![CDATA[<p>I originally chose to work in Ruby for its ease of deployment to low-cost shared hosting services, but as time has progressed I have become more comfortable with the language and a selection of tools and libraries. One that I like a lot is the <a href="http://www.sinatrarb.org/">Sinatra web framework</a>. Interestingly it now appears that if I wanted, I could run Sinatra applications in a Java web container such as <a href="http://tomcat.apache.org/">Tomcat</a>, <a href="http://www.caucho.com/products/resin/">Resin</a>, or <a href="http://jetty.codehaus.org/jetty/">Jetty</a> using <a href="http://caldersphere.rubyforge.org/warbler/">Warbler</a>, which bundles <a href="http://jruby.org/">JRuby</a> and an application into a standard war file for drop-in deployment.</p>
<p>This is an interesting challenge to my own pure-Java <a href="http://mojasef.stringtree.org/">Mojasef</a> framework, which offers several similarities with the approach taken by Sinatra. Sinatra wins on documentation, though <img src='http://blog.punchbarrel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A good guide to getting started with Sinatra and Warbler can be found at <a href="http://www.coreguardian.org/2010/02/21/sinatra-on-java/">Sinatra on Java | Coreguardian</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2010/04/09/sinatra-on-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monk – Quickstart Sinatra Projects</title>
		<link>http://blog.punchbarrel.com/2010/04/07/monk-%e2%80%93-quickstart-sinatra%c2%a0projects/</link>
		<comments>http://blog.punchbarrel.com/2010/04/07/monk-%e2%80%93-quickstart-sinatra%c2%a0projects/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 21:19:46 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[monk]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[skeleton]]></category>
		<category><![CDATA[structure]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1434</guid>
		<description><![CDATA[I&#8217;m currently on my fourth or fifth project using the Sinatra web framework. Each project has taught me more about Sinatra, and Ruby, and all the other little things that go into making a web application using these tools. One thing which has been puzzling me, though, is how best to structure the directories and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently on my fourth or fifth project using the Sinatra web framework. Each project has taught me more about Sinatra, and Ruby, and all the other little things that go into making a web application using these tools. One thing which has been puzzling me, though, is how best to structure the directories and files which comprise each project.</p>
<p>I have been developing Java web applications for so long that I have a familiar and generally useful project structure which I can quickly build from memory. With these new tools I&#8217;m not so confident that I would not be storing up problems if I attempt to create my own structure.</p>
<p>So I was intrigued to encounter <a href="http://monkrb.com/">Monk</a> recently. A system for generating project starting points for projects using a lot of the tools I have come to enjoy. It&#8217;s presumably aimed at the simplicity of starting a Rails project, but for a different set of tools.</p>
<p>On my Ubuntu system it was a bit tricky to get going. The documentation just recommends &#8220;sudo gem install monk&#8221; but this required some extra installations and some general fiddling around. Once installed it happily generated a project structure, which (after a few more installs) would run its tests using rake and start up a server serving &#8220;Hello, World&#8221; if asked.</p>
<p>I&#8217;ll give it a try on my next project, and see if it helps. I might even use the recommended No-SQL storage engine Redis instead of Sqlite or PStore which I have used in the past.</p>
<p>Read some more at <a href="http://www.gittr.com/index.php/archive/monk-quickstart-sinatra-projects/">» Monk – Quickstart Sinatra Projects Gittr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2010/04/07/monk-%e2%80%93-quickstart-sinatra%c2%a0projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build and deployment scripts using &#8220;real&#8221; programming languages</title>
		<link>http://blog.punchbarrel.com/2009/03/08/build-and-deployment-scripts-using-real-programming-languages/</link>
		<comments>http://blog.punchbarrel.com/2009/03/08/build-and-deployment-scripts-using-real-programming-languages/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 20:46:19 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[rake]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[vlad]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1215</guid>
		<description><![CDATA[Like many teams, I&#8217;m sure, we are trying to squeeze every drop of effectiveness out of our time. Manual build and deployment not only takes up valuable time, but also acts as a drag on the development process. Anything which pulls developers out of &#8220;the zone&#8221; is a bad thing for productivity. We usually use [...]]]></description>
			<content:encoded><![CDATA[<p>Like many teams, I&#8217;m sure, we are trying to squeeze every drop of effectiveness out of our time. Manual build and deployment not only takes up valuable time, but also acts as a drag on the development process. Anything which pulls developers out of &#8220;the zone&#8221; is a bad thing for productivity.</p>
<p>We usually use the familiar &#8220;<a href="http://ant.apache.org/">ant</a>&#8221; build tool for building deployable artefacts, but have found it increasingly fiddly as our expectations have grown. And ant is hardly useful at all for real-world deployment tasks.</p>
<p>It may be the time to re-consider other build and deployment options.</p>
<p><a href="http://alex-verkhovsky.blogspot.com/2009/03/lets-use-real-languages-for-builds.html">Thread.current.to_s: Let&#8217;s use real languages for builds</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2009/03/08/build-and-deployment-scripts-using-real-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux VirtualBox vs Windows</title>
		<link>http://blog.punchbarrel.com/2009/02/23/linux-virtualbox-vs-windows/</link>
		<comments>http://blog.punchbarrel.com/2009/02/23/linux-virtualbox-vs-windows/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 12:06:42 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[virtual]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1190</guid>
		<description><![CDATA[Now this is an interesting result. It appears that even when running in a virtual machine, Linux can be a faster development system than the Windows the VM is running on! Linux VirtualBox vs Windows for Rails Dev &#8211; James Crisp.]]></description>
			<content:encoded><![CDATA[<p>Now this is an interesting result. It appears that even when running in a virtual machine, Linux can be a faster development system than the Windows the VM is running on!</p>
<p><a href="http://jamescrisp.org/2009/02/21/linux-virtualbox-vs-windows-for-rails-dev/">Linux VirtualBox vs Windows for Rails Dev &#8211; James Crisp</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2009/02/23/linux-virtualbox-vs-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vertebra &#8211; a Cloud Management Framework</title>
		<link>http://blog.punchbarrel.com/2009/02/19/vertebra-a-cloud-management-framework/</link>
		<comments>http://blog.punchbarrel.com/2009/02/19/vertebra-a-cloud-management-framework/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 19:46:35 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1088</guid>
		<description><![CDATA[This looks very interesting, although it is at an early stage right now. A system for building and managing cloud-hosted applications, using XMPP as a communication subsystem. InfoQ: Engine Yard Releases Cloud Management Framework Vertebra]]></description>
			<content:encoded><![CDATA[<p>This looks very interesting, although it is at an early stage right now. A system for building and managing cloud-hosted applications, using XMPP as a communication subsystem.</p>
<p><a href="http://www.infoq.com/news/2009/01/vertebra-released">InfoQ: Engine Yard Releases Cloud Management Framework Vertebra</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2009/02/19/vertebra-a-cloud-management-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing is Overrated</title>
		<link>http://blog.punchbarrel.com/2009/02/10/testing-is-overrated/</link>
		<comments>http://blog.punchbarrel.com/2009/02/10/testing-is-overrated/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 06:46:17 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[Krug]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1055</guid>
		<description><![CDATA[A conference presentation from RubyFringe, designed to be contentious. There are some good points, particularly about the way that different approaches to testing can complement each other, but I think he misses the point about TDD when he lumps it in with developer unit testing and ignores the design aspects of the technique. InfoQ: Testing [...]]]></description>
			<content:encoded><![CDATA[<p>A conference presentation from RubyFringe, designed to be contentious. There are some good points, particularly about the way that different approaches to testing can complement each other, but I think he misses the point about TDD when he lumps it in with developer unit testing and ignores the design aspects of the technique.</p>
<p><a href="http://www.infoq.com/presentations/francl-testing-overrated">InfoQ: Testing is Overrated</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2009/02/10/testing-is-overrated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chef &#8211; scriptable multi-machine deployment</title>
		<link>http://blog.punchbarrel.com/2009/01/26/chef-scriptable-multi-machine-deployment/</link>
		<comments>http://blog.punchbarrel.com/2009/01/26/chef-scriptable-multi-machine-deployment/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 14:05:53 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.punchbarrel.com/?p=1079</guid>
		<description><![CDATA[I&#8217;m a strong believer that manual steps should be automated wherever possible. One of the areas of our current product which seems to require an inordinate amount of manual &#8220;faffing&#8221; is provisioning and deployment. Chef, a ruby system for distributing and automating just these kinds of tasks seems an interesting solution. Home &#8211; Chef &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a strong believer that manual steps should be automated wherever possible. One of the areas of our current product which seems to require an inordinate amount of manual &#8220;faffing&#8221; is provisioning and deployment.</p>
<p>Chef, a ruby system for distributing and automating just these kinds of tasks seems an interesting solution.</p>
<p><a href="http://wiki.opscode.com/display/chef/Home">Home &#8211; Chef &#8211; Opscode Open Source Wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punchbarrel.com/2009/01/26/chef-scriptable-multi-machine-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.536 seconds -->

