<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gifted Slacker</title>
	<atom:link href="http://giftedslacker.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://giftedslacker.wordpress.com</link>
	<description>The dog always eats my homework</description>
	<lastBuildDate>Sun, 07 Jun 2009 16:33:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='giftedslacker.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gifted Slacker</title>
		<link>http://giftedslacker.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://giftedslacker.wordpress.com/osd.xml" title="Gifted Slacker" />
	<atom:link rel='hub' href='http://giftedslacker.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Ruby LOAD_PATH</title>
		<link>http://giftedslacker.wordpress.com/2009/06/07/ruby-load_path/</link>
		<comments>http://giftedslacker.wordpress.com/2009/06/07/ruby-load_path/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 16:28:11 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/?p=334</guid>
		<description><![CDATA[I cleaned up an example from Giles&#8217; post about issues with common Ruby idiom: Giles gives an example for expanding relative paths, which I&#8217;ve cleaned up very minorly (he forgot the slash, big whoop): I suggest reading the previously mentioned post for context. It&#8217;s worth it simply for the Highlander joke. Update: I should have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=334&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I cleaned up an example from <a href="http://gilesbowkett.blogspot.com/2009/04/unshiftfiledirnamefile.html">Giles&#8217; post</a> about issues with common Ruby idiom:<br />
<pre class="brush: ruby;">
$:.unshift(File.dirname(__FILE__))
</pre></p>
<p>Giles gives an example for expanding relative paths, which I&#8217;ve cleaned up very minorly (he forgot the slash, big whoop):<br />
<pre class="brush: ruby;">
class File
  def self.here(string)
    join(expand_path(dirname(__FILE__)), string)
  end
end
</pre></p>
<p>I suggest reading the previously mentioned post for context. It&#8217;s worth it simply for the Highlander joke.</p>
<p>Update: I should have read the comments. Much more good discussion <a href="http://gilesbowkett.blogspot.com/2009/04/unshiftfiledirnamefile.html#comments">there</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/334/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/334/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=334&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/06/07/ruby-load_path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>TweetTail &#8211; HTML</title>
		<link>http://giftedslacker.wordpress.com/2009/06/07/tweettail-html/</link>
		<comments>http://giftedslacker.wordpress.com/2009/06/07/tweettail-html/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 05:14:42 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/?p=330</guid>
		<description><![CDATA[I was reading through some Ruby code on GitHub tonight when I ran across Dr Nic&#8216;s TweetTail utility. TweetTail prints a the latest Twitter search results to the console. I decided I wanted to write a utility that would generate html listings of different searches I want to follow. I ran into some issues that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=330&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was reading through some Ruby code on <a href="http://github.com/">GitHub</a> tonight when I ran across <a href="http://drnicwilliams.com/">Dr Nic</a>&#8216;s <a href="http://github.com/drnic/tweet-tail/tree">TweetTail</a> utility. TweetTail prints a the latest Twitter search results to the console. </p>
<p>I decided I wanted to write a utility that would generate html listings of different searches I want to follow. I ran into some issues that I couldn&#8217;t satisfactorily solve, so I ended up forking and patching TweetTail itself. This is undesirable. I don&#8217;t want to have to maintain my own parallel version of TweetTail just to have a little bit different behavior.</p>
<p>I&#8217;m going to explain my problem. Hopefully someone will offer a better solution.</p>
<p>TweetPoller is the workhorse. Render_latest_results and format are the methods we&#8217;re concerned with:<br />
<pre class="brush: ruby;">
class TweetTail::TweetPoller
# irrelevant code omitted
#...
  
  def render_latest_results
    @latest_results.inject(&quot;&quot;) do |output, tweet|
        output += format(tweet)
    end
  end

  def format(tweet)
    screen_name = tweet['from_user']
    message     = tweet['text']
    &quot;#{screen_name}: #{message}\n&quot;
  end

#...
# irrelevant code omitted
end 
</pre></p>
<p>What I wanted to do was just override the format method with my own version. I didn&#8217;t want to just monkeypatch over the top of it, so I inherited from TweetPoller and provided my own format method:<br />
<pre class="brush: ruby;">
class HtmlTweetPoller &lt; TweetTail::TweetPoller
  def format(tweet)
    screen_name = tweet['from_user']
    created_at = tweet['created_at']
    link = tweet['source']
    message = tweet['text']
    &quot;&lt;div class='tweet'&gt;#{screen_name}: #{message}&lt;br /&gt; &lt;a href='#{link}'&gt;#{created_at}&lt;/a&gt;\n&quot;
  end
end
</pre></p>
<p>That didn&#8217;t work. It was obvious why after I took another look at the metaprogramming section of the Pickaxe book: The render_latest_results method was still calling TweetPoller&#8217;s format method.</p>
<p>Getting around that is easy, you simply override the TweetPoller&#8217;s render_latest_results method:<br />
<pre class="brush: ruby;">
class HtmlTweetPoller &lt; TweetTail::TweetPoller
  def render_latest_results
    @latest_results.inject(&quot;&quot;) do |output, tweet|
        output += format(tweet)
    end
  end

  def format(tweet)
    screen_name = tweet['from_user']
    created_at = tweet['created_at']
    link = tweet['source']
    message = tweet['text']
    &quot;&lt;div class='tweet'&gt;#{screen_name}: #{message}&lt;br /&gt; &lt;a href='#{link}'&gt;#{created_at}&lt;/a&gt;\n&quot;
  end
end
</pre></p>
<p>Now I&#8217;ve got code that has been copied and pasted from TweetPoller into my own class. That doesn&#8217;t make me happy. I haven&#8217;t come up with a situation where it&#8217;s actually a problem. It just seems suspect to me.</p>
<p>This is where I&#8217;m stuck. This is the point I decided to modify TweetTail.</p>
<p>Any guidance is greatly appreciated.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/330/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/330/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/330/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=330&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/06/07/tweettail-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Work Is Great</title>
		<link>http://giftedslacker.wordpress.com/2009/06/05/work-is-great/</link>
		<comments>http://giftedslacker.wordpress.com/2009/06/05/work-is-great/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 22:08:19 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/2009/06/05/work-is-great/</guid>
		<description><![CDATA[I&#8217;m having a blast at work. Definitely enjoying it much more than I would have guessed. I recently got to start throwing a little bit of my work time (and quite a few off-the-clock hours) into learning Django + Pinax and getting them setup as a blogging/wiki/forum platform. I think having two or more projects [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=329&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having a blast at work. Definitely enjoying it much more than I would have guessed.</p>
<p>I recently got to start throwing a little bit of my work time (and quite a few off-the-clock hours) into learning Django + Pinax and getting them setup as a blogging/wiki/forum platform.</p>
<p>I think having two or more projects is a real good thing for me. It means I have two carrots to motivate myself; Get X amount done on project A and then I can do Y amount of work on project B.</p>
<p>It&#8217;s also helpful to me to switch platforms during the day. Most of my work is on WebForms/C#, which harshes my melon. Getting to look at non-evil stuff is very refreshing, even if it&#8217;s a tiny amount of my working day.</p>
<p>(Apologies for lack of structure and coherence. I wrote this completely in the quickpress widget.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=329&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/06/05/work-is-great/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Codetry</title>
		<link>http://giftedslacker.wordpress.com/2009/05/11/codetry/</link>
		<comments>http://giftedslacker.wordpress.com/2009/05/11/codetry/#comments</comments>
		<pubDate>Mon, 11 May 2009 22:35:11 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/?p=324</guid>
		<description><![CDATA[One of my work mates has a quote in his status message: To strive, to seek, to find, to never yield! Here&#8217;s my translation into Ruby: def seek(sought) sought end def strive(for_this) found = seek(for_this) found or yield found end strive(:perfection) { &#124;r&#124; puts r.to_s } It strives. It seeks. It finds. It never yields.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=324&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of my work mates has a quote in his status message:</p>
<blockquote><p>To strive, to seek, to find, to never yield!</p></blockquote>
<p>Here&#8217;s my translation into Ruby:<br />
<code></p>
<pre>
def seek(sought)
  sought
end

def strive(for_this)
  found = seek(for_this)
  found or yield found
end

strive(:perfection) { |r| puts r.to_s }
</pre>
<p></code></p>
<p>It strives. It seeks. It finds. It never yields.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=324&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/05/11/codetry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Baseball Allegory</title>
		<link>http://giftedslacker.wordpress.com/2009/01/29/baseball-allegory/</link>
		<comments>http://giftedslacker.wordpress.com/2009/01/29/baseball-allegory/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 21:57:20 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/?p=321</guid>
		<description><![CDATA[Even full-blown baseball sucks but I guess the point of this is valid anyway.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=321&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Even full-blown baseball sucks but I guess the point of <a href="http://www.xprogramming.com/xpmag/jatBaseball.htm">this</a> is valid anyway.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=321&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/01/29/baseball-allegory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Lotus Notes</title>
		<link>http://giftedslacker.wordpress.com/2009/01/03/lotus-notes/</link>
		<comments>http://giftedslacker.wordpress.com/2009/01/03/lotus-notes/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 19:24:16 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Internet/Web]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://giftedslacker.com/?p=315</guid>
		<description><![CDATA[I&#8217;ve had the, um, privilege of writing a lot of code for Lotus Notes applications (native and web). It is a horrifically painful experience. Some simple things are easy, others are impossible. Don&#8217;t get me started on how it goes when you try to do complex things. Do I hate Lotus Notes? Not really. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=315&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the, um, privilege of writing a lot of code for Lotus Notes applications (native and web). It is a horrifically painful experience. Some simple things are easy, others are impossible. Don&#8217;t get me started on how it goes when you try to do complex things.</p>
<p>Do I hate Lotus Notes? Not really. I hate the way the platform is inflexible and encourages bad development practices. Lotus Notes is also riddled with what some might call &#8220;convention-over-configuration&#8221; features. Others would call these &#8220;wildly inconsistent, undocumented behaviors&#8221; or even &#8220;bugs.&#8221; I just love having no programmatic access something mundane like the querystring without adding a special field to all of my documents. Seriously, why isn&#8217;t this just in the NotesSession object?</p>
<p>I am halfway through reading <em><a href="http://www.pragprog.com/titles/tpp/the-pragmatic-programmer">The Pragmatic Programmer</a></em> (It&#8217;s as good as everyone says). And I haven&#8217;t found much in it that I can apply to my Lotus Notes development work. Andy and Dave&#8217;s advice isn&#8217;t deficient. It&#8217;s usually immediately obvious how and why you would want to follow their suggestions. Instead the limits of the Lotus Notes platform actively work against good development practice.</p>
<p>For instance, I&#8217;m converting several MS Access applications to Lotus Notes web applications, so it would be nice to be able to generate NotesForms from the database schema. This isn&#8217;t possible because you can&#8217;t meaningfully modify a NotesForm object programatically.* Instead of being able to write some code to alleviate this pain, I have to go through a long, tedious process involving delimited files, format listings, and mouse clicking.</p>
<p>So, contrary to my constant exclamations, I don&#8217;t hate Lotus Notes. I hate the restrictions it places on me as a programmer. I hate that it encourages people to be really, really crap programmers, while still considering themselves programmers.** And I hate that it could be <a href="http://couchdb.apache.org/">so much more</a>, but isn&#8217;t.</p>
<p>* Is there some sort of black magic that will let you do this? If so, nobody I&#8217;ve ever worked with knows it and Google doesn&#8217;t know it.</p>
<p>** Okay, so most of my co-workers consider themselves &#8220;Lotus Notes Developers.&#8221; Being a Lotus Notes Developer apparently entails lots of copy and paste.***</p>
<p>*** It seems that every Lotus Notes application borrows the same broken code. I have some real fun stories about this &#8212; more later.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/315/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=315&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2009/01/03/lotus-notes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Election Day Monkey Patch</title>
		<link>http://giftedslacker.wordpress.com/2008/11/05/election-day-monkey-patch/</link>
		<comments>http://giftedslacker.wordpress.com/2008/11/05/election-day-monkey-patch/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 03:52:47 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://giftedslacker.wordpress.com/?p=313</guid>
		<description><![CDATA[Ruby Arrays have a delete_if method, so I thought I&#8217;d add delete_unless for fun: class Array def delete_unless(&#38;block) self.replace self.select {&#124;v&#124; v if yield(v)} end end There&#8217;s something that makes me smile about that method.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=313&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ruby Arrays have a delete_if method, so I thought I&#8217;d add delete_unless for fun:<br />
<code><br />
class Array<br />
  def delete_unless(&amp;block)<br />
    self.replace self.select {|v| v if yield(v)}<br />
  end<br />
end<br />
</code></p>
<p>There&#8217;s something that makes me smile about that method.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/313/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/313/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/313/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=313&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2008/11/05/election-day-monkey-patch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Monopoly</title>
		<link>http://giftedslacker.wordpress.com/2008/10/31/monopoly/</link>
		<comments>http://giftedslacker.wordpress.com/2008/10/31/monopoly/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:41:01 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[World]]></category>

		<guid isPermaLink="false">http://giftedslacker.wordpress.com/?p=311</guid>
		<description><![CDATA[Monopolies are important. They are a key player in making things &#8220;safe.&#8221; The trade monopolies of the past, like the British East India Company, made it safe to do business in the Far East, Africa and the New World. IBM made it safe to use computers in big business. Microsoft did the same for computers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=311&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Monopolies are important. They are a key player in making things &#8220;safe.&#8221;</p>
<p>The trade monopolies of the past, like the British East India Company, made it safe to do business in the Far East, Africa and the New World. IBM made it safe to use computers in big business. Microsoft did the same for computers on every desk, even at home. Google tamed the web and turned it into a safe and somewhat less interesting resource.</p>
<p>What do I mean by safe? I mean that these companies transformed risky ventures into reliable, accepted practices. What was once deemed irresponsible or doomed to failure became commonplace and boring. The extraordinary became ordinary.</p>
<p>There are numerous examples where monopolies have changed the world in enduring ways. Makes me wonder if the world had reached the point where these changes were inevitable, or if powerful monopolies perpetuated them.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/311/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=311&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2008/10/31/monopoly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Hope</title>
		<link>http://giftedslacker.wordpress.com/2008/10/27/hope/</link>
		<comments>http://giftedslacker.wordpress.com/2008/10/27/hope/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 16:35:04 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[World]]></category>

		<guid isPermaLink="false">http://giftedslacker.wordpress.com/?p=309</guid>
		<description><![CDATA[And Giles is the messenger.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=309&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>And <a href="http://gilesbowkett.blogspot.com/2008/10/crucible-why-it-matters.html">Giles</a> is the messenger.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/309/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/309/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=309&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2008/10/27/hope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby DCamp</title>
		<link>http://giftedslacker.wordpress.com/2008/09/17/ruby-dcamp/</link>
		<comments>http://giftedslacker.wordpress.com/2008/09/17/ruby-dcamp/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 18:16:40 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Internet/Web]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://giftedslacker.wordpress.com/?p=307</guid>
		<description><![CDATA[I&#8217;m going to be at Ruby DCamp on October 11th and 12th. I&#8217;ve also registered for a couple of other meetups in October. One is for the Northern Virginia MySQL group on October 6th and the other is for the Baltimore on Rails group on October 14th. DCamp is going to be a blast. Meeting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=307&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to be at Ruby DCamp on October 11th and 12th. I&#8217;ve also registered for a couple of other meetups in October. One is for the Northern Virginia MySQL group on October 6th and the other is for the Baltimore on Rails group on October 14th.</p>
<p>DCamp is going to be a blast. Meeting local developers that like the same stuff I do will be great too.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/giftedslacker.wordpress.com/307/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/giftedslacker.wordpress.com/307/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/giftedslacker.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/giftedslacker.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/giftedslacker.wordpress.com/307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=giftedslacker.wordpress.com&amp;blog=1411789&amp;post=307&amp;subd=giftedslacker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://giftedslacker.wordpress.com/2008/09/17/ruby-dcamp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d5d30d1f69b37953a983bad139f7523?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Grant</media:title>
		</media:content>
	</item>
	</channel>
</rss>
