<?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>Ereblog &#187; Ruby</title>
	<atom:link href="http://www.erebor.com/?feed=rss2&#038;cat=16" rel="self" type="application/rss+xml" />
	<link>http://www.erebor.com</link>
	<description>Views from the mountain</description>
	<lastBuildDate>Thu, 28 May 2009 19:09:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Learning to pair program</title>
		<link>http://www.erebor.com/?p=202</link>
		<comments>http://www.erebor.com/?p=202#comments</comments>
		<pubDate>Sun, 04 Jan 2009 04:44:37 +0000</pubDate>
		<dc:creator>rew</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.erebor.com/?p=202</guid>
		<description><![CDATA[Update (2009-01-16): You can read about my first tour stop here.  I&#8217;m fired up now, so I&#8217;m looking far and wide for more folks with which to do this.
I&#8217;d like to do some pair programming.  The problem is, you can&#8217;t exactly do that by yourself.  At least, not if you&#8217;re reasonably healthy [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update (2009-01-16):</strong> <em>You can read about my first tour stop <a href="http://www.erebor.com/2009/01/16/telling-stories-in-nashville/#comment-13111">here</a>.  I&#8217;m fired up now, so I&#8217;m looking far and wide for more folks with which to do this.</em></p>
<p>I&#8217;d like to do some <a href="http://en.wikipedia.org/wiki/Pair_programming">pair programming</a>.  The problem is, you can&#8217;t exactly do that by yourself.  At least, not if you&#8217;re reasonably healthy of mind, as I understand it.</p>
<p>I&#8217;m looking for someone willing to let me come to your place and &#8220;pair up&#8221; with you for at least a day.  I can&#8217;t promise how useful I&#8217;ll be, but I&#8217;m a reasonably pleasant guy, I bathe every month whether I need it or not, and I&#8217;ll buy you lunch.</p>
<p>My only requirements are:</p>
<ol>
<li>Gotta be within an hour or so of Huntsville, Alabama.  I need to be able to drive there and back on the same day.  That basically means anywhere from Nashville, TN to Birmingham, AL, and from Florence, AL to maybe Scottsboro, AL.</li>
<li>Gotta be Ruby.  Rails is even better, but I&#8217;d go hang out with a pure Ruby hacker. This isn&#8217;t because other languages and contexts sux0r.  It&#8217;s just that Ruby (and Rails) is what I&#8217;m doing right now, and where I&#8217;m hoping to ramp up my level of mastery quickly.</li>
<li>You have to have done Pair Programming before, and can show me at least <em>your</em> way that works best.  How do we set up our work space?  Do we use two computers, linked up?  One?  Where do we sit?  I don&#8217;t want to spend the day figuring it out with another Pair noob.</li>
</ol>
<p>That&#8217;s it.  I have a few <em>preferences</em>, but they&#8217;re not essential: I&#8217;d like to work with someone who does BDD/TDD so I can see it in action.  I&#8217;d <em>strongly</em> prefer if whatever project we worked on was git-based (even better if it&#8217;s on github) for the same reason: I&#8217;d like to see how real work gets done in this mode.  But honestly, any experienced Pair Programmer doing Ruby that will have me will work fine.</p>
<p>I don&#8217;t want money or credit or co-copyright or anything.  I don&#8217;t care what the project you&#8217;re working on is.  Anything is fine.  I just want to learn, and hopefully contribute a little.  If it works out, I&#8217;d like to do it some more, though no one should feel the slightest compunction against telling me, &#8220;Get lost, you bum!&#8221; after the first day.</p>
<p>I was inspired by Corey Haines&#8217; <a href="http://www.coreyhaines.com/tour2008/">Pair Programming Tour 2008</a>.  While I can&#8217;t travel around the country pairing up with awesome programmers, I&#8217;m free to travel around a <em>little</em> bit, and I know there are some good Ruby+Rails folks not too far away.</p>
<p>I&#8217;ve been programming more or less steadily for almost 30 years.  I&#8217;ve been working with Rails for over 3 years, but only for private projects (one large one for one of my companies).  In my career I&#8217;ve worked in a lot of different platforms, quite a few languages, and at various levels of OS, from a tiny bit of device drivers all the way out to user interfaces.  I know a little about a lot of things, and a lot about a few things.</p>
<p>But the discipline of writing software moves very fast, and I&#8217;ve not been as deeply involved in programming as I&#8217;d like in the past few years, and frankly, there&#8217;s a lot of cool stuff I feel like I&#8217;ve missed.  And one of those is the emergence of pair programming, and the BDD/TDD paradigm.</p>
<p>So&#8230;anyone willing to take me in and show me the ropes?  Email me at <a href="mailto:rew@erebor.com">rew@erebor.com</a>, find me on <a href="http://twitter.com/erebor">Twitter</a>, or call or text me at 256-777-7650.</p>
<div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/21f2be2b-f0a8-410a-b0a4-9401f462210c/" title="Zemified by Zemanta"><img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=21f2be2b-f0a8-410a-b0a4-9401f462210c" alt="Reblog this post [with Zemanta]"/></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.erebor.com/?feed=rss2&amp;p=202</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Is _why channeling Gay Talese?</title>
		<link>http://www.erebor.com/?p=139</link>
		<comments>http://www.erebor.com/?p=139#comments</comments>
		<pubDate>Tue, 11 Mar 2008 16:02:01 +0000</pubDate>
		<dc:creator>rew</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.erebor.com/?p=139</guid>
		<description><![CDATA[While reading Dan Poynter&#8217;s excellent piece on storyboarding, I was struck by the resemblance of Gay Talese&#8217;s storyboard to _why the lucky stiff&#8217;s Poignant Guide to Ruby.
Maybe it&#8217;s just me.
]]></description>
			<content:encoded><![CDATA[<p>While reading Dan Poynter&#8217;s <a HREF= "http://www.poynter.org/column.asp?id=78&#038;aid=129707">excellent piece on storyboarding</a>, I was struck by the resemblance of Gay Talese&#8217;s storyboard to _why the lucky stiff&#8217;s <a HREF= "http://poignantguide.net/ruby/chapter-4.html">Poignant Guide to Ruby</a>.</p>
<p>Maybe it&#8217;s just me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.erebor.com/?feed=rss2&amp;p=139</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Charts&#8217; simpleEncode in Ruby</title>
		<link>http://www.erebor.com/?p=123</link>
		<comments>http://www.erebor.com/?p=123#comments</comments>
		<pubDate>Sun, 09 Dec 2007 22:04:04 +0000</pubDate>
		<dc:creator>rew</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.erebor.com/?p=123</guid>
		<description><![CDATA[I couldn&#8217;t resist.  Note the is_numeric? method, which is not very pretty Ruby (I should open up a base class somewhere and put it there), but it works and is only syntactic sugar anyway, to make the simpleEncode method itself a little nicer to read.
Note that it produces slightly different output than the PHP [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t resist.  Note the is_numeric? method, which is not very pretty Ruby (I should open up a base class somewhere and put it there), but it works and is only syntactic sugar anyway, to make the simpleEncode method itself a little nicer to read.</p>
<p>Note that it produces <i>slightly</i> different output than the PHP one, namely because Ruby handles integer arithmetic a little differently, thus the round() method was not needed here.  If I changed this line:</p>
<pre>
      chartData < < simpleEncoding[simpleLength * val / maxValue];
</pre>
<p>to this:</p>
</pre>
<pre>
      chartData < < simpleEncoding[(simpleLength * val.to_f / maxValue).round];
</pre>
<p>the output is identical.  But visually they're nearly indistinguishable when charted, as the difference amounts to (literally) a rounding error at any given point.</p>
</pre>
<pre>
def is_numeric?(arg)
  Float arg rescue false
end

def simpleEncode(values, maxValue=-1)
  simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
  simpleLength = simpleEncoding.size - 1

  # Just ignore any non-numeric values                                                               

  maxValue = values.select{|f| is_numeric?(f) }.max if maxValue < 0

  chartData = 's:'
  values.each do |val|
    if is_numeric?(val)
      chartData << simpleEncoding[(simpleLength * val.to_f / maxValue).round];
    else
      chartData << '_';
    end
  end
  return chartData;
end
</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.erebor.com/?feed=rss2&amp;p=123</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
