<?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>halostatue &#187; Archive</title>
	<atom:link href="http://www.halostatue.ca/category/ruby/archive/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.halostatue.ca</link>
	<description>software development with ruby in Toronto</description>
	<lastBuildDate>Mon, 29 Mar 2010 18:28:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TRUGhat 2006:1</title>
		<link>http://www.halostatue.ca/2006/04/18/trughat-20061/</link>
		<comments>http://www.halostatue.ca/2006/04/18/trughat-20061/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 03:10:03 +0000</pubDate>
		<dc:creator>austin</dc:creator>
				<category><![CDATA[Archive]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TRUG]]></category>

		<guid isPermaLink="false">http://localhost/halostatue/2006/04/18/trughat-20061/</guid>
		<description><![CDATA[TRUGhat: Toronto Ruby Users Group hackathon
TRUGhat is TRUG&#8217;s <a href="http://en.wikipedia.org/wiki/Hackathon" title="hackathon">hackathon</a> or codefest. In a hackathon, a group of people get together and will either work toward a common goal, or simply work in a common area on code that interests them. For our first TRUGhat, we have agreed upon a common goal.
During a codefest or hackathon, [...]]]></description>
			<content:encoded><![CDATA[<h2 id="toc-trughat-toronto-ruby-users-group-hackathon">TRUGhat: <i>T</i>oronto <i>R</i>uby <i>U</i>sers <i>G</i>roup <i>ha</i>cka<i>t</i>hon</h2>
<p>TRUGhat is TRUG&#8217;s <a href="http://en.wikipedia.org/wiki/Hackathon" title="hackathon">hackathon</a> or codefest. In a hackathon, a group of people get together and will either work toward a common goal, or simply work in a common area on code that interests them. For our first TRUGhat, we have agreed upon a common goal.</p>
<p>During a codefest or hackathon, there&#8217;s <strong>always</strong> lots of snacks available, and it&#8217;s common for the perfect developer&#8217;s food&mdash;pizza, of course&mdash;to be delivered.</p>
<p>The goal is for TRUG to have two TRUGhat events a year. Ruby developers of all skill levels will be welcomed.</p>
<h2 id="toc-trughat-20061">TRUGhat 2006:1</h2>
<h3 id="toc-when">When?</h3>
<p><strong>TRUGhat 2006:1</strong> will be held on 6 May 2006, from 10:00 A.M. to 7:00 P.M.</p>
<p>Since we&#8217;re all learning something on this first <strong>TRUGhat</strong>, we probably won&#8217;t get started programming until 11:00 A.M.</p>
<h3 id="toc-where">Where?</h3>
<p>Tucows has generously provided the space and network availability for this event at its offices in Toronto, at 96 Mowat Avenue, one block west of Dufferin, south of King. Transit accessibility is good, with both the King West streetcar and the Dufferin bus passing near the office. Parking is plentiful for those who will be driving. <a href="http://maps.google.com/maps?f=q&#038;hl=en&#038;q=96+Mowat+Avenue,+Toronto+(Tucows+Office)&#038;ll=43.638995,-79.426088&#038;spn=0.022983,0.057549&#038;om=1"" title="Map">Map</a></p>
<h3 id="toc-who">Who?</h3>
<p>The Tucows space can handle a total of fifteen people, with thirteen places available. If you&#8217;re interested in joining us, please put your name below and join the <strike>mailing list</strike>. <strong>UPDATE: This list is wrong. Visit the <a href="http://trug.ca" title="TRUG wiki">TRUG wiki</a> and use the <em>sewm</em> list to join.</strong></p>
<h2 id="toc-what">What?</h2>
<p>The current plan is to implement the functionality of <a href="http://people.freebsd.org/~kientzle/libarchive/"" title="libarchive">libarchive</a> and possibly <a href="http://www.feep.net/libtar/" title="libtar">libtar</a> for Ruby. The primary goal is pure Ruby support with a secondary goal of Ruby/C bindings so that those who have the requisite libraries can take advantage of the C code for performance reasons.</p>
<h2 id="toc-more">More?</h2>
<p>Some of the details are still being worked out, but Austin Ziegler has already committed to buying pizza for whomever does show up.  Check out the mailing list or the <a href="http://www.trug.ca/TRUGhat"" title="TRUGhat wiki page">TRUGhat wiki page</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.halostatue.ca/2006/04/18/trughat-20061/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minitar, Ruwiki, and Commands</title>
		<link>http://www.halostatue.ca/2004/09/07/minitar-ruwiki-and-commands/</link>
		<comments>http://www.halostatue.ca/2004/09/07/minitar-ruwiki-and-commands/#comments</comments>
		<pubDate>Wed, 08 Sep 2004 03:49:35 +0000</pubDate>
		<dc:creator>austin</dc:creator>
				<category><![CDATA[Archive]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruwiki]]></category>

		<guid isPermaLink="false">http://localhost/halostatue/2004/09/07/minitar-ruwiki-and-commands/</guid>
		<description><![CDATA[I mentioned last week that I had detoured into Mauricio&#8217;s rpa-base code for packaging code. I was all set to finish the work on a deployable Ruwiki, complete with this code included in the release, when I realised: &#8220;that&#8217;s dumb.&#8221; Why was I going to release something that could and should be an independent library [...]]]></description>
			<content:encoded><![CDATA[<p>I mentioned last week that I had detoured into Mauricio&#8217;s rpa-base code for packaging code. I was all set to finish the work on a deployable Ruwiki, complete with this code <strong>included</strong> in the release, when I realised: &#8220;that&#8217;s dumb.&#8221; Why was I going to release something that could and should be an independent library embedded in Ruwiki, when the whole point of the exercise is to make Ruwiki a good RubyGem and RPA package that doesn&#8217;t include things which are logically separate.</p>
<p>It wasn&#8217;t as if I weren&#8217;t going to release Minitar as a separate package; I said that I would, last week. I just realised that doing it earlier was more important than doing it later and getting Ruwiki out quickly. Doing this also helped me find an answer to the next phase of Ruwiki development, too (following the deployment release).</p>
<p>While looking around at options for how to present the UI for the Ruwiki deployment utility and the <tt>minitar</tt> utility, I looked at the RubyGems code that emulates the <tt>cvs</tt> command-line in many ways. This made a lot<br />
of sense, to me, so I created CommandPattern:</p>
<pre>class CommandPattern
  class AbstractCommandError < Exception; end
  class UnknownCommandError < RuntimeError; end
  class CommandAlreadyExists < RuntimeError; end

  class << self
    def add(command); ...; end
    def <<(command); ...; end
    attr_accessor :default
    def command?(command); ...; end
    def command(command); ...; end
    def [](cmd); ...; end
    def default_ioe; ...; end
  end

  def [](args, opts = {}, ioe = {}); ...; end
  def name; ...; end
  def call(args, opts = {}, ioe = {}); ...; end
  def help; ...; end
end</pre>
<p>It seems to me that this is <em>exactly</em> the same pattern as I need to deal with for Actions in Ruwiki. Okay, so there are differences -- but not as many as I had initially thought. The amount of code to be reused, to be quite honest, is low, but the concept reuse is high. It's very cool, to say the least.</p>
<h4 id="toc-follow-up">Follow-up</h4>
<p>With the release of minitar, the examples originally given for deployment could become:</p>
</pre>
<pre>% minitar extract ruwiki-0.8.0.tar.gz
% cd ruwiki-0.8.0
% ruwiki_servlet</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.halostatue.ca/2004/09/07/minitar-ruwiki-and-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

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