<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>gayleforce</title>
	<atom:link href="http://gayleforce.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gayleforce.wordpress.com</link>
	<description>This Blog Doesn't Blow</description>
	<lastBuildDate>Thu, 01 Oct 2009 05:33:12 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='gayleforce.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/00eb25487f802f949b8e2b8888daa910?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>gayleforce</title>
		<link>http://gayleforce.wordpress.com</link>
	</image>
			<item>
		<title>Ruby Sorting [2] &#8211; Common Mistakes When Sorting With Blocks</title>
		<link>http://gayleforce.wordpress.com/2009/09/30/ruby-sorting-common-mistakes-when-sorting-with-blocks/</link>
		<comments>http://gayleforce.wordpress.com/2009/09/30/ruby-sorting-common-mistakes-when-sorting-with-blocks/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 14:00:54 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=175</guid>
		<description><![CDATA[This sorting technique is one I&#8217;ve had a chance to use at work more lately. But what keeps tripping me up is when you use the block to sorting primarily by one field, with a secondary sort on another field. Let&#8217;s say Fish has species and type, and we have these fish in our database:



species
type


Platy
Sunset


Platy
Calico


Molly
Dalmation


Platy
Rainbow


Guppy
Fancy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=175&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This sorting technique is one I&#8217;ve had a chance to use at work more lately. But what keeps tripping me up is when you use the block to sorting primarily by one field, with a secondary sort on another field. Let&#8217;s say Fish has species and type, and we have these fish in our database:</p>
<table style="margin-left:30px;margin-bottom:2px;border:1px solid;" border="1" cellspacing="0">
<tbody>
<tr>
<th>species</th>
<th>type</th>
</tr>
<tr>
<td>Platy</td>
<td>Sunset</td>
</tr>
<tr>
<td>Platy</td>
<td>Calico</td>
</tr>
<tr>
<td>Molly</td>
<td>Dalmation</td>
</tr>
<tr>
<td>Platy</td>
<td>Rainbow</td>
</tr>
<tr>
<td>Guppy</td>
<td>Fancy Tail</td>
</tr>
<tr>
<td>Platy</td>
<td>Mickey Mouse</td>
</tr>
</tbody>
</table>
<p>When I sort first by species, then by type, I keep accidentally doing the following, which gives the wrong sorted results:</p>
<pre style="padding-left:30px;">&gt;&gt; fishes = Fish.find(:all) 

&gt;&gt; fishes.sort do |a,b|
?&gt;   a.species &lt;=&gt; b.species
&gt;&gt;   a.type &lt;=&gt; b.type
&gt;&gt; end</pre>
<p>Doing that, I end up with a list like:</p>
<table style="margin-left:30px;margin-bottom:2px;border:1px solid;" border="1" cellspacing="0">
<tbody>
<tr>
<th>species</th>
<th>type</th>
</tr>
<tr>
<td>Platy</td>
<td>Calico</td>
</tr>
<tr>
<td>Molly</td>
<td>Dalmation</td>
</tr>
<tr>
<td>Guppy</td>
<td>Fancy Tail</td>
</tr>
<tr>
<td>Platy</td>
<td>Mickey Mouse</td>
</tr>
<tr>
<td>Platy</td>
<td>Rainbow</td>
</tr>
<tr>
<td>Platy</td>
<td>Sunset</td>
</tr>
</tbody>
</table>
<p>It ignores my first sort on species, and ends up sorting only by type!</p>
<p>Why? What&#8217;s wrong with that?  Well, the &lt;=&gt; comparator function (also known informally as the &#8220;spaceship operator&#8221;) returns either -1, 0 or 1, depending on whether the first value is less than, equal to, or greater than the other.  The block will return the last statement evaluated.  So what happens is we compare species, then we then compare type, and it is always the result of the type comparison, -1, 0 or 1, is returned from the block.  The problem is, if species <em>is not equal</em>, then we want to stop there and return -1 or 1 accordingly and not evaluate type at all.</p>
<p>A simple way to do this is to add &#8220;if result==0&#8243; to the end of the type comparison, and only evaluate type if species was equal.</p>
<pre style="padding-left:30px;">&gt;&gt; fishes = Fish.find(:all) 

&gt;&gt; fishes.sort do |a,b|
?&gt;   <strong><span style="color:#0000ff;">result = </span></strong>a.species &lt;=&gt; b.species
&gt;&gt;   <strong><span style="color:#0000ff;">result = </span></strong>a.type &lt;=&gt; b.type <span style="color:#0000ff;"><strong>if result == 0 </strong></span>
&gt;&gt;   <span style="color:#0000ff;"><strong>result</strong></span>
&gt;&gt; end</pre>
<p>This way, it will perform the first search by species, then only continue to perform the secondary search if the result of the first search was zero, that is they were equal values.  And so I end up with a list like:</p>
<table style="margin-left:30px;margin-bottom:2px;border:1px solid;" border="1" cellspacing="0">
<tbody>
<tr>
<th>species</th>
<th>type</th>
</tr>
<tr>
<td>Guppy</td>
<td>Fancy Tail</td>
</tr>
<tr>
<td>Molly</td>
<td>Dalmation</td>
</tr>
<tr>
<td>Platy</td>
<td>Calico</td>
</tr>
<tr>
<td>Platy</td>
<td>Mickey Mouse</td>
</tr>
<tr>
<td>Platy</td>
<td>Rainbow</td>
</tr>
<tr>
<td>Platy</td>
<td>Sunset</td>
</tr>
</tbody>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=175&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/09/30/ruby-sorting-common-mistakes-when-sorting-with-blocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby Sorting [1] &#8211; When and Why to use sort_by()</title>
		<link>http://gayleforce.wordpress.com/2009/09/28/ruby-sorting-1-when-and-why-to-use-sort_by/</link>
		<comments>http://gayleforce.wordpress.com/2009/09/28/ruby-sorting-1-when-and-why-to-use-sort_by/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 14:00:26 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=171</guid>
		<description><![CDATA[When I read the rdoc on sort_by, I understood the general idea that sort_by is more efficient in some situations.  The specifics on why were still over my head, so I wasn&#8217;t planning to get into specifics during my recent talk on sorting. Yet just a few hours before my talk Jim Weirich was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=171&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When I read <a href="http://www.ruby-doc.org/core/classes/Enumerable.html#M003120">the </a><a href="http://www.ruby-doc.org/core/classes/Enumerable.html#M003120">rdoc on sort_by</a>, I understood the general idea that sort_by is more efficient in some situations.  The specifics on why were still over my head, so I wasn&#8217;t planning to get into specifics during my <a href="http://gayleforce.wordpress.com/2009/09/24/more-on-sorting-in-ruby/">recent talk on sorting</a>. Yet just a few hours before my talk <a href="http://onestepback.org/">Jim Weirich</a> was still trying to cajole me into using big words like &#8220;Schwartzian Transformation&#8221; in my talk because, he teased, &#8220;using big words makes you sound important <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8220;</p>
<p>The good thing is that this gave me a chance to talk it out with him, and actually understand it for real.  It was too late for me to add that into my talk a few hours before I was to give it, but I do want to talk about it here now that I understand.</p>
<p><strong>sort_by() is good if the values you&#8217;re sorting on require some kind of complex calculation or operation to get their value. </strong></p>
<p>Let&#8217;s say you have an aquarium, and you save the dates of when each fish is born in a database.  Later, you want to sort the list of fish by age.  But you must calculate the age based on the birth date.  So the Fish class has an age method:</p>
<pre style="padding-left:30px;">class Fish
...
  def age
    (Date.today - birthday).to_i
  end
end</pre>
<p>So when you sort like this:</p>
<pre style="padding-left:30px;">&gt;&gt; fishes = Fish.find(:all)

&gt;&gt; fishes.sort do |a, b|
&gt;&gt;   a.age &lt;=&gt; b.age
&gt;&gt; end</pre>
<p>It will calculate age over and over as it sorts.  And if you&#8217;ve studied sorting algorithms, you know that the items in the list are compared with other list items repeatedly until it can be determined where the items go in the ordered list.  So using this way of sorting, the age will be calculated a lot!</p>
<p>When you use sort_by() instead:</p>
<pre style="padding-left:30px;">&gt;&gt; fishes.sort_by do |a|
&gt;&gt;   a.age
&gt;&gt; end</pre>
<p>It does 3 things:</p>
<p>1. It will first go through each item in fishes, calculate age, and put those values into a temporary array keyed by the value.  Let&#8217;s say we have 3 fish, one 300 days old, one 365 days old, and one 225 days old.  The temporary array looks like this</p>
<pre style="padding-left:30px;">[[300, #&lt;Fish:A&gt;][365, #&lt;Fish:B&gt;][225, #&lt;Fish:C&gt;]</pre>
<p>2. The complex calculation is now done, once for each fish. It sorts this temporary array by the first item in each sub array.  Meaning, it sorts by the numbers 300, 365 and 225, without recalculating them.</p>
<pre style="padding-left:30px;">[[225, #&lt;Fish:C&gt;],[300, #&lt;Fish:A&gt;][365, #&lt;Fish:B&gt;]]</pre>
<p>3. Lastly, it goes back through the array, grabbing the 2nd array elements (the actual Fish objects) and putting them in order into a flattened 1-dimensional array</p>
<pre style="padding-left:30px;">[#&lt;Fish:C&gt;, #&lt;Fish:A&gt;, #&lt;Fish:B&gt;]
</pre>
<p>So, that is how you end up with a sorted array without recalculating values more than you need to. And that is why sort_by() can be more efficient.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=171&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/09/28/ruby-sorting-1-when-and-why-to-use-sort_by/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby Sorting [0] &#8211; Sorting a Hash</title>
		<link>http://gayleforce.wordpress.com/2009/09/25/ruby-sorting-0-sorting-a-hash/</link>
		<comments>http://gayleforce.wordpress.com/2009/09/25/ruby-sorting-0-sorting-a-hash/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 14:00:59 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=166</guid>
		<description><![CDATA[It figures that one of the questions someone asked, following my talk on sorting last month, was something I specifically chose not to cover for the sake of time, and to be able to cover more valuable topics.   So, when someone asked whether you can sort a Hash and how, I knew A) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=166&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It figures that one of the questions someone asked, following <a href="&lt;a href=&quot;/2009/08/17/speaking-at-the-columbus-ruby-brigade/&quot;&gt;">my talk on sorting last month</a>, was something I specifically chose not to cover for the sake of time, and to be able to cover more valuable topics.   So, when someone asked whether you can sort a Hash and how, I knew A) that you can, and B) I knew I had barely glanced at it in the <a href="http://www.ruby-doc.org/core/classes/Hash.html#M002865">rdoc on hash sorting</a>, but didn&#8217;t remember how it worked.  So I had to simply suggest they go read about it themselves. But I was also curious to go read about it more myself.  So I took my own advice, and here&#8217;s what I came up with:</p>
<p><strong>I define a hash:</strong></p>
<pre style="padding-left:30px;">irb(main):001:0&gt; typical_fish_colors =
irb(main):002:0*    {"clownfish" =&gt; ["orange","white","black"],
irb(main):003:1*     "goldfish" =&gt; ["orange"],
irb(main):004:1*     "angelfish" =&gt; ["black","white"]
irb(main):005:1&gt;    }</pre>
<p><strong>Default sorting on a hash &#8211; sorts the keys. </strong></p>
<p>Pretty simple I guess. What you may not expect, depending on what you know of hashes, is that <span style="text-decoration:underline;">you don&#8217;t get a Hash object returned from calling .sort</span>, you get an Array.  A nested, three-dimensional Array.  This is because arrays are ordered, hashes are not.</p>
<pre style="padding-left:30px;">irb(main):006:0&gt; typical_fish_colors.sort
=&gt; [["angelfish", ["black", "white"]], ["clownfish", ["orange", "white", "black"]],
   ["goldfish", ["orange"]]]</pre>
<p><strong>What you can&#8217;t do when sorting a hash is use sort! (sort-bang):</strong></p>
<pre style="padding-left:30px;">irb(main):007:0&gt; typical_fish_colors.sort!
NoMethodError: undefined method `sort!' for #&lt;Hash:0x2d17ea8&gt;
 from (irb):7</pre>
<p><strong>What else you can&#8217;t do when sorting a hash <em>by default </em>is use symbols for keys:</strong></p>
<pre style="padding-left:30px;">irb(main):008:0&gt; typical_fish_colors =
irb(main):009:0*     {:clownfish =&gt; ["orange","white","black"],
irb(main):010:1*      :goldfish =&gt; ["orange"],
irb(main):011:1*      :angelfish =&gt; ["black","white"]
irb(main):012:1&gt;     }

irb(main):013:0&gt; typical_fish_colors.sort
NoMethodError: undefined method `&lt;=&gt;' for :clownfish:Symbol
 from (irb):13:in `&lt;=&gt;'
 from (irb):13:in `sort'
 from (irb):13
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=166&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/09/25/ruby-sorting-0-sorting-a-hash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>On Sorting in Ruby</title>
		<link>http://gayleforce.wordpress.com/2009/09/24/on-sorting-in-ruby/</link>
		<comments>http://gayleforce.wordpress.com/2009/09/24/on-sorting-in-ruby/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 04:38:20 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=104</guid>
		<description><![CDATA[After speaking at the Columbus Ruby Brigade last month on the topic of Ruby sorting, I&#8217;ve gotten a chance to use some of the sorting techniques I spoke about more over the last month at work.  There were a few things I didn&#8217;t get a chance to cover since I was only giving a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=104&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After <a href="/2009/08/17/speaking-at-the-columbus-ruby-brigade/">speaking at the Columbus Ruby Brigade last month</a> on the topic of Ruby sorting, I&#8217;ve gotten a chance to use some of the sorting techniques I spoke about more over the last month at work.  There were a few things I didn&#8217;t get a chance to cover since I was only giving a 5-10 minute lightning talk. There&#8217;s a few things I&#8217;ve come to understand a little better (benefits and gotcha&#8217;s) since then.</p>
<p><strong>Things I talked about (feel free to check out <a href="http://docs.google.com/present/view?id=dwpcqwz_0gzwsnggs">the slides from my talk</a> for examples of some of these things) </strong></p>
<ul>
<li>Basic sorting with .sort and .sort!</li>
<li>Sorting your own complex types by defining a &lt;=&gt; method on your class</li>
<li>Sorting on the fly with blocks</li>
<li>Sorting nested objects</li>
</ul>
<p><strong>Things I did not cover for various reasons. And blog posts covering them in more detail after the fact:</strong></p>
<ul>
<li><a href="/2009/09/25/ruby-sorting-0-sorting-a-hash/">Sorting a Hash</a> &#8211; covering this topic didn&#8217;t seem as if it would add as much value as some of the other things I covered, so it got cut for the sake of time.</li>
<li><a href="http://gayleforce.wordpress.com/2009/09/28/ruby-sorting-1-when-and-why-to-use-sort_by/">When and specifically why to use sort_by</a> &#8211; because I didn&#8217;t fully understand it just reading the <a href="http://www.ruby-doc.org/core/classes/Enumerable.html#M003120">rdoc on sort_by </a>but now I do.</li>
<li><a href="http://gayleforce.wordpress.com/2009/09/30/ruby-sorting-common-mistakes-when-sorting-with-blocks/">Common mistakes when sorting using blocks</a> &#8211; things I&#8217;ve learned along the way, in practice, since last month.</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=104&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/09/24/on-sorting-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at the Columbus Ruby Brigade</title>
		<link>http://gayleforce.wordpress.com/2009/08/17/speaking-at-the-columbus-ruby-brigade/</link>
		<comments>http://gayleforce.wordpress.com/2009/08/17/speaking-at-the-columbus-ruby-brigade/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 19:02:12 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[community]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=89</guid>
		<description><![CDATA[Tonight I will be speaking at the Columbus Ruby Brigade (CRB) meeting.  I will be taking the lead from another CRB member, Kevin Munc, who has started a series of introductory talks focusing on taking one method in Ruby and doing a 5-10 minute lightning talking about that method.  &#8220;Ruby Method of the Month.&#8221;  Tonight [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=89&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Tonight I will be speaking at the <a href="http://columbusrb.com">Columbus Ruby Brigade</a> (CRB) meeting.  I will be taking the lead from another CRB member, <a href="http://www.munc.com">Kevin Munc</a>, who has started a series of introductory talks focusing on taking one method in Ruby and doing a 5-10 minute lightning talking about that method.  &#8220;Ruby Method of the Month.&#8221;  Tonight I will be speaking about sorting in Ruby.</p>
<p>I will post a copy my slides up here soon.  Not until after I&#8217;m done so nobody cheats <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Update: August 18, 2009</strong><br />
Here&#8217;s the <a href="http://docs.google.com/present/view?id=dwpcqwz_0gzwsnggs">slides</a> from my talk, enjoy!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=89&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/08/17/speaking-at-the-columbus-ruby-brigade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>Helping my mother start a blog!</title>
		<link>http://gayleforce.wordpress.com/2009/06/13/helping-my-mother-start-a-blog/</link>
		<comments>http://gayleforce.wordpress.com/2009/06/13/helping-my-mother-start-a-blog/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 13:37:57 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=85</guid>
		<description><![CDATA[I&#8217;ve spent the last several weeks helping my mom set up a blog.  She&#8217;s doing really well with all this stuff that&#8217;s new to her.  I know she was apprehensive at first &#8211; but I also remember a time when she wasn&#8217;t sure she&#8217;d be able to do email and now she uses [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=85&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve spent the last several weeks helping my mom set up a blog.  She&#8217;s doing really well with all this stuff that&#8217;s new to her.  I know she was apprehensive at first &#8211; but I also remember a time when she wasn&#8217;t sure she&#8217;d be able to do email and now she uses email all the time. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  She&#8217;ll be an expert blogger in no time I&#8217;m sure!</p>
<p>I wrote a little more about the personal <a href="http://mi-blogita.blogspot.com/2009/06/my-mom-has-blog.html">story behind her blog on my other blog</a>.  But in summary: she wrote a book back in 2006 about planning <a href="http://reconnectingtime.com">church family camp</a> and that&#8217;s what her blog covers.</p>
<p>But here, I thought I&#8217;d cover a few of the technical details and decisions made in helping set this up for her.</p>
<p><span style="text-decoration:underline;">Using things she&#8217;s already familiar with</span></p>
<p>First, I wanted to make this process easy for her to do, by making it as similar to things she&#8217;s already familiar with using as possible.  Based on that, I decided to have her try out Windows Live Writer for her writing.  She&#8217;s very familiar with using MS Word, and Live Writer isn&#8217;t too unlike Word.  Not exactly, but more so than going to the web page and doing her writing inside a text box.</p>
<p><span style="text-decoration:underline;">Easy to use over dial-up</span></p>
<p>In addition, I wanted to make it something easy for her to use with a dial-up internet connection.  Yes, my parents live so far out in the country that their internet options are basically dial-up or satellite.  They&#8217;re too far out for DSL, and their cell phone signal out there is unreliable.  Given that they mostly only use the internet for email, it&#8217;s hard to justify the cost of internet through the satellite.  If she were writing from her blog&#8217;s website, I&#8217;m not sure it would be able to handle the automatic periodic saves that it does very well. With Live Writer, she can do all of her writing offline, and only connect right before she wants to publish her content.</p>
<p><span style="text-decoration:underline;">Easy for me to support her</span></p>
<p>And I wanted to make this process easy for me.  Since I have a blog on wordpress and blogger, that narrowed down my choice of one of those two places to have her blog.  I wanted something I was already familiar with to make it that much easier for me to be her &#8220;system administrator.&#8221;  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   I went with WordPress because I&#8217;ve found it a little easier for me to configure, and b/c of a few extras like blog stats that are already there automatically.  I know it&#8217;s possible to get blog stats using Google tools and such, but then I have to go set that up separately and I can be lazy. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Bonus is I&#8217;ve learned a lot more about what WordPress can do through the process of setting things up for her.  Particularly in relation to Widgets.  So much can be done with Widgets, and anything that can&#8217;t already be done I can pretty much take care of myself with the catchall Text Widget coupled with my HTML skills.</p>
<p><span style="text-decoration:underline;">Explaining the tools</span></p>
<p>At first she wasn&#8217;t sure how Live Writer and WordPress relate to each other, why she needed both, and what each one was really for.  I used an analogy to try to explain it to her.  I said to think of Live Writer as her spiral bound notebook.  (She wrote her book on the computer, I just went old-school with the analogy <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )  And think of  WordPress as her book publisher.  She can write whatever she wants to in her notebook.  Scratch things out.  Throw pages away.  Start new pages.  But only when she&#8217;s satisfied with a draft, she sends it to the publisher and they publish it for the world.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=85&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/06/13/helping-my-mother-start-a-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>Ada Lovelace Day</title>
		<link>http://gayleforce.wordpress.com/2009/03/24/ada-lovelace-day/</link>
		<comments>http://gayleforce.wordpress.com/2009/03/24/ada-lovelace-day/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:01:44 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[women in tech]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=79</guid>
		<description><![CDATA[While I didn&#8217;t officially &#8220;pledge&#8221; for this (bah), I thought I&#8217;d throw something out there for Ada Lovelace Day 2009 &#8211; March 24, and write about a woman in technology whom I admire.
When I first thought about participating in this, I had some severe writers block.  I just couldn&#8217;t think what or who I wanted [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=79&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>While I didn&#8217;t officially &#8220;pledge&#8221; for this (bah), I thought I&#8217;d throw something out there for <a href="http://findingada.com/" target="_blank">Ada Lovelace Day 2009</a> &#8211; March 24, and write about a woman in technology whom I admire.</p>
<p>When I first thought about participating in this, I had some severe writers block.  I just couldn&#8217;t think what or who I wanted to write about.  And as I reflected on why this was so tough, it occurred to me that most of that came from a thought that goes something like:</p>
<blockquote><p>&#8220;dangit, people, why aren&#8217;t we writing about about inspiring <strong><em>people</em></strong> in technology.  What about <em><strong>people</strong></em> who inspired my career?  Why does it matter if it&#8217;s a woman?  I guess <strong><em>I just don&#8217;t get it.</em></strong>&#8220;</p></blockquote>
<p>I, for one, want to be defined by &#8211; I want to be remembered as &#8211; many things, but not necessary <em>because</em> I am a woman.  Rather <em>because</em> I am a good developer.  <em>Because </em>I am intelligent.  <em>Because </em>I am a nice person.  <em>Because </em>I am a person who can figure things out.  <em>Because</em> I am a person who helps others figure things out.  <em>Because </em>I have good ideas.  But not <em>because </em>I am woman.</p>
<p>Then, a person came to mind: the first woman programmer I ever worked alongside: Clar-René Sliper.  I was a little, junior co-op, still in college.  She was one of the senior members of our group.  Aside from me, she was the only female programmer there.  (There were other women around, just not programmers.)</p>
<p>I remember wondering how she got into IT.  After all, there were so few women in <em>my</em> college classes.  I can imagine that finding women in the field was even more rare when she got into IT.  Yet whenever she was around, it just never seemed like &#8211; nobody acted like &#8211; she was any different than anyone else on the team.  She was smart, I never saw her ideas ignored, she never got walked all over or had to put up with crap from anyone.  And she never had to put forth any attitude to get that respect.  The only difference was her name was Clar instead of Jim or Liem or André or Dean or  Matt or Dave.</p>
<p>It&#8217;s not unusual for people&#8217;s first experiences with things to shape them going forward.  Maybe those early experiences paved the whole way for me thinking: &#8220;People &#8211; this is not a big deal. Quit making it one.  Singling people out only makes it worse.&#8221;  You should admire anyone around you who deserves it.  Man, woman, white, black, Asian, disabled, etc.  Appreciate anyone around you who deserves it.  And treat everyone around you with at least a basic level of respect, no matter what.</p>
<p>I appreciate Clar for unwittingly showing me that it is not that hard, or weird, to be as competent and capable as everyone else around me.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=79&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2009/03/24/ada-lovelace-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>
	</item>
		<item>
		<title>CodeMash 2009</title>
		<link>http://gayleforce.wordpress.com/2008/12/17/codemash-2009/</link>
		<comments>http://gayleforce.wordpress.com/2008/12/17/codemash-2009/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 16:47:40 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=60</guid>
		<description><![CDATA[
 Are you?

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=60&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://codemash.org"><img src="http://codemash.org/images/badges/attendee1.png" alt="CodeMash – I’ll be there!" /></a></p>
<div style="margin-left:2%;font-size:18px;font-weight:bold;"> Are you?</div>
<p></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=60&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2008/12/17/codemash-2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>

		<media:content url="http://codemash.org/images/badges/attendee1.png" medium="image">
			<media:title type="html">CodeMash – I’ll be there!</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Selenium to check for the presence of an image</title>
		<link>http://gayleforce.wordpress.com/2008/12/04/using-selenium-to-check-for-the-presence-of-an-image/</link>
		<comments>http://gayleforce.wordpress.com/2008/12/04/using-selenium-to-check-for-the-presence-of-an-image/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 16:24:48 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=54</guid>
		<description><![CDATA[I spent a little bit of time yesterday trying to figure out how to use Selenium to check for the presence or absense of a specific image used as the background of an HTML table.  It wasn&#8217;t that hard to do in the end, but I got a little tripped up trying to check for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=54&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I spent a little bit of time yesterday trying to figure out how to use Selenium to check for the presence or absense of a specific image used as the background of an HTML table.  It wasn&#8217;t that hard to do in the end, but I got a little tripped up trying to check for the wrong thing.  Pretty cool once I got it done, so I figured I&#8217;d share here.</p>
<p><strong>What I tried to do:</strong></p>
<p>At first I tried to grab the HTML text inside the TD and verify the presence of the filename of the image as text.</p>
<p><strong>What I should have done all along:</strong></p>
<p>What ended up working was that I knew the table row and cell in which I was expecting the image, and I had to do a &#8220;verifyElementPresent&#8221; instead. (Thanks to <a href="http://stautberg.net">Dean</a> for helping me figure that out)</p>
<p><a href="http://gayleforce.files.wordpress.com/2008/12/fishsel.jpg"><img class="size-full wp-image-55 alignnone" title="fishsel" src="http://gayleforce.files.wordpress.com/2008/12/fishsel.jpg?w=468&#038;h=259" alt="fishsel" width="468" height="259" /></a></p>
<p> </p>
<p>The only thing I don&#8217;t like about that approach (vs. checking for text) is that I can&#8217;t do a wildcard search for the text.  I have to exactly check for the full path to the file.  So, if we decide to re-organize the directory structure and move some images to a &#8220;saltwater&#8221; and some to a &#8220;freshwater&#8221; subdirectory, the selenium test is then fragile and breaks.  But chances are the images are going to remain pretty static, so I am happy enough with this approach.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=54&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2008/12/04/using-selenium-to-check-for-the-presence-of-an-image/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>

		<media:content url="http://gayleforce.files.wordpress.com/2008/12/fishsel.jpg" medium="image">
			<media:title type="html">fishsel</media:title>
		</media:content>
	</item>
		<item>
		<title>Great Lakes Ruby Bash</title>
		<link>http://gayleforce.wordpress.com/2008/10/08/great-lakes-ruby-bash/</link>
		<comments>http://gayleforce.wordpress.com/2008/10/08/great-lakes-ruby-bash/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 22:56:35 +0000</pubDate>
		<dc:creator>Gayle</dc:creator>
				<category><![CDATA[community]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gayleforce.wordpress.com/?p=51</guid>
		<description><![CDATA[As I&#8217;ve mentioned before, I&#8217;ve enjoyed going beyond my local network of technical folks and attending regional events in Ohio and Michigan such as CodeMash, Cleveland Day of .Net (even though I&#8217;ve never been a .Net developer) and Agile Summer Camp. 
It&#8217;s high time I expand my Ruby-specific regional network, especially now that I&#8217;m getting paid [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=51&subd=gayleforce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As I&#8217;ve mentioned before, I&#8217;ve enjoyed going beyond my local network of technical folks and attending regional events in Ohio and Michigan such as <a href="http://codemash.org">CodeMash</a>, <a href="http://www.clevelanddodn.org/">Cleveland Day of .Net</a> (even though I&#8217;ve never been a .Net developer) and <a href="http://agilesummercamp.com/">Agile Summer Camp</a>. </p>
<p>It&#8217;s high time I expand my Ruby-specific regional network, especially now that I&#8217;m getting paid to write Ruby code! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This weekend, I&#8217;m looking forward to attending the<br />
<a href="http://greatlakesrubybash.org/"><img src="http://greatlakesrubybash.org/images/glrb_cropped.jpg" alt="Great Lakes Ruby Bash" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gayleforce.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gayleforce.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gayleforce.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gayleforce.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gayleforce.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gayleforce.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gayleforce.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gayleforce.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gayleforce.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gayleforce.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gayleforce.wordpress.com&blog=2524365&post=51&subd=gayleforce&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gayleforce.wordpress.com/2008/10/08/great-lakes-ruby-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7c5690574dfe0863e1509de65c3f8ee?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gayle9</media:title>
		</media:content>

		<media:content url="http://greatlakesrubybash.org/images/glrb_cropped.jpg" medium="image">
			<media:title type="html">Great Lakes Ruby Bash</media:title>
		</media:content>
	</item>
	</channel>
</rss>