<?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>That One Blog</title>
	<atom:link href="http://wfarr.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wfarr.wordpress.com</link>
	<description>Life, Linux, and lots of other meaningless bullshit</description>
	<lastBuildDate>Fri, 06 Jul 2007 15:36:20 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='wfarr.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/94886969c6701a1552fa554c9d87fd03?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>That One Blog</title>
		<link>http://wfarr.wordpress.com</link>
	</image>
			<item>
		<title>The Little Things in Life Rock</title>
		<link>http://wfarr.wordpress.com/2007/07/06/the-little-things-in-life-rock/</link>
		<comments>http://wfarr.wordpress.com/2007/07/06/the-little-things-in-life-rock/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 15:36:20 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/07/06/the-little-things-in-life-rock/</guid>
		<description><![CDATA[Nathan Weizenbaum was helping me with a few issues in a pet project I&#8217;m working on.
In the process, I ended up learning a really neat trick that Ruby can do.
To give you a bit of background, I&#8217;m working on a GTK Tray Icon. To make a menu spawn upon right-clicking the tray icon, you&#8217;d expect [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=115&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nathan Weizenbaum was helping me with a few issues in a pet project I&#8217;m working on.</p>
<p>In the process, I ended up learning a really neat trick that Ruby can do.</p>
<p>To give you a bit of background, I&#8217;m working on a GTK Tray Icon. To make a menu spawn upon right-clicking the tray icon, you&#8217;d expect to see something like this:</p>
<pre><code>require 'gtk2'

class TrayIcon
  def initialize
    trayicon = Gtk::StatusIcon.new
    trayicon.set_icon_name('folder')
    trayicon.set_tooltip('My Tray Icon')
    trayicon.signal_connect('popup-menu') { |button, activate_time| on_right_click(button, activate_time) }
  end

  def on_right_click(status_icon, button, activate_time)
    rc_menu = Gtk::Menu.new

    exit = Gtk::ImageMenuItem.new('Quit')
    exit_image = Gtk::Image.new(Gtk::Stock::QUIT, Gtk::IconSize::MENU)
    exit.set_image(exit_image)
    exit.signal_connect('activate') { Gtk.main_quit }
    rc_menu.append(exit)

    rc_menu.show_all
    rc_menu.popup(nil, nil, button, activate_time)
  end
end</code></pre>
<p>But, the line 8th line (trayicon.signal_connect &#8230;) is a bit unwieldy. The thing is, we need those arguments to be passed for everything to work. And that&#8217;s where Ruby&#8217;s Proc handling comes in to save me. The same line can be re-written, and work, using the following line instead:</p>
<pre><code>trayicon.signal_connect('popup-menu', &amp;method(:on_right_click))</code></pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/115/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/115/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=115&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/07/06/the-little-things-in-life-rock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>Banshee Plugin for Xchat</title>
		<link>http://wfarr.wordpress.com/2007/06/30/banshee-plugin-for-xchat/</link>
		<comments>http://wfarr.wordpress.com/2007/06/30/banshee-plugin-for-xchat/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 21:44:30 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Banshee]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/30/banshee-plugin-for-xchat/</guid>
		<description><![CDATA[I&#8217;ve been working on a wide variety of projects lately, so when I got some spare time today, I did something for myself.
As such, I&#8217;ve done a complete rewrite of the Banshee plugin for Xchat. It&#8217;s stable and shouldn&#8217;t have any bugs. Works great on this end. The code itself is improved as well.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=114&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been working on a wide variety of projects lately, so when I got some spare time today, I did something for myself.</p>
<p>As such, I&#8217;ve done a <em>complete</em> rewrite of the Banshee plugin for Xchat. It&#8217;s stable and shouldn&#8217;t have any bugs. Works great on this end. The code itself is improved as well. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can nab a copy <a href="http://pastebin.ca/597872" target="_blank">here</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/114/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/114/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=114&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/30/banshee-plugin-for-xchat/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu: The First Distro to Ship Compiz-Fusion by Default</title>
		<link>http://wfarr.wordpress.com/2007/06/28/ubuntu-the-first-distro-to-ship-compiz-fusion-by-default/</link>
		<comments>http://wfarr.wordpress.com/2007/06/28/ubuntu-the-first-distro-to-ship-compiz-fusion-by-default/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 02:19:46 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Compiz]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/28/ubuntu-the-first-distro-to-ship-compiz-fusion-by-default/</guid>
		<description><![CDATA[As of the Tribe 2 release, due to the awesome work on the part of Michael Vogt (mvo) and Travis Watkins (Amaranth), Compiz 0.5.1 git and the Compiz-Fusion main plugins are not just a part of the default installation of Ubuntu, but enabled by Default, even on the LiveCD.
Of course, it&#8217;s only enabled for supported [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=113&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As of the Tribe 2 release, due to the awesome work on the part of Michael Vogt (mvo) and Travis Watkins (Amaranth), Compiz 0.5.1 git and the Compiz-Fusion main plugins are not just a part of the default installation of Ubuntu, but <strong>enabled by Default, even on the LiveCD</strong>.</p>
<p>Of course, it&#8217;s only enabled for supported hardware devices, so for you folks that can&#8217;t run Compiz, you&#8217;ll be greeted by Metacity as always.</p>
<p>The rest of the Compiz-Fusion stuff is also in the universe repository, so feel free to pick it up by running the following command:</p>
<p><code>sudo apt-get install compiz-fusion-plugins-extra compizconfig-settings-manager</code></p>
<p>Keep in mind, <strong>Gutsy is alpha software and isn&#8217;t recommended for use on your desktop</strong>, however, if you&#8217;re feeling <em>gutsy</em>, it&#8217;s a fun experience. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/113/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/113/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=113&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/28/ubuntu-the-first-distro-to-ship-compiz-fusion-by-default/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>Some Neat Stuff</title>
		<link>http://wfarr.wordpress.com/2007/06/21/some-neat-stuff/</link>
		<comments>http://wfarr.wordpress.com/2007/06/21/some-neat-stuff/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 22:28:07 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/21/some-neat-stuff/</guid>
		<description><![CDATA[I&#8217;ve been anxiously awaiting the release of SLED 10&#8217;s Service Pack 1 for a few small items: Gnome Main Menu 0.9.8, updated Gilouche theme, etc.
Finally, on the 18th, after way-too-long a wait, they put it out.
Since then I&#8217;ve compiled and configured a few things, while a couple more are being put off for a little [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=112&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been anxiously awaiting the release of SLED 10&#8217;s Service Pack 1 for a few small items: Gnome Main Menu 0.9.8, updated Gilouche theme, etc.</p>
<p>Finally, on the 18th, after way-too-long a wait, they put it out.</p>
<p>Since then I&#8217;ve compiled and configured a few things, while a couple more are being put off for a little bit (namely the international clock &#8211; which requires rebuilding the whole of gnome-panel).</p>
<p>Here&#8217;s a shot of <a href="http://www.divshare.com/download/1030943-e6c" target="_blank">Gnome Main Menu 0.9.8</a>, with the updated Gilouche theme, to give you just a taste of some of the neat things that should start making their way upstream.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/112/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/112/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=112&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/21/some-neat-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>Adobe Really Does Love Us!</title>
		<link>http://wfarr.wordpress.com/2007/06/15/adobe-really-does-love-us/</link>
		<comments>http://wfarr.wordpress.com/2007/06/15/adobe-really-does-love-us/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 13:55:25 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open SUSE]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/15/adobe-really-does-love-us/</guid>
		<description><![CDATA[In addition to this week&#8217;s announcement about a particularly awesome little beta release of Flash 9 Update, which features all sorts of treats such as native GTK support and fullscreen use, Adobe has gone one step further in easing adoption of Flash on Linux: particularly for PCLinuxOS, openSUSE, and Fedora users.
As of yesterday, Adobe now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=111&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In addition to this week&#8217;s announcement about a particularly awesome little beta release of Flash 9 Update, which features all sorts of treats such as native GTK support and fullscreen use, Adobe has gone one step further in easing adoption of Flash on Linux: particularly for PCLinuxOS, openSUSE, and Fedora users.</p>
<p>As of yesterday, <a href="http://blogs.adobe.com/penguin.swf/2007/06/new_installation_method.html" target="_blank">Adobe now sports its own, <em>maintained</em> YUM repository for Flash</a>. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>In order to install Flash, just run the following:</p>
<p><code>wget http://linuxdownload.adobe.com/adobe-release/adobe-release-1.0-0.noarch.rpm -O ~/adobe-release-1.0-0.noarch.rpm<br />
su -c "rpm -Uvh adobe-release-1.0-0.noarch.rpm" root<br />
su -c "yum install -y flash-plugin" root</code></p>
<p>Remember to restart any web browsers after installing Flash!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/111/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/111/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=111&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/15/adobe-really-does-love-us/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://linuxdownload.adobe.com/adobe-release/adobe-release-1.0-0.noarch.rpm" length="3991" type="audio/x-rpm" />
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>With Net Censorship on</title>
		<link>http://wfarr.wordpress.com/2007/06/06/with-net-censorship-on/</link>
		<comments>http://wfarr.wordpress.com/2007/06/06/with-net-censorship-on/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 02:05:12 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/06/with-net-censorship-on/</guid>
		<description><![CDATA[With net censorship on the rise, it is the responsibility and the privilege of those we can speak to speak for those who are repressed.
That said, I encourage each and every one of you who value your ability to spread information and have privacy and freedom on the Internet please visit Irrepressible.info (a sub-site of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=110&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>With net censorship on the rise, it is the responsibility and the privilege of those we can speak to speak for those who are repressed.</p>
<p>That said, I encourage each and every one of you who value your ability to spread information and have privacy and freedom on the Internet please visit <a href="http://irrepressible.info">Irrepressible.info</a> (a sub-site of Amnesty International) and add your name to the list of those who refuse to let their freedoms be systematically robbed from them.</p>
<p><img src="http://irrepressible.info/static/images/en/irrepressible_banner_03.gif" align="middle" height="60" width="150" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=110&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/06/with-net-censorship-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>

		<media:content url="http://irrepressible.info/static/images/en/irrepressible_banner_03.gif" medium="image" />
	</item>
		<item>
		<title>Gustav Holst is Pretty Much My Hero</title>
		<link>http://wfarr.wordpress.com/2007/06/04/gustav-holst-is-pretty-much-my-hero/</link>
		<comments>http://wfarr.wordpress.com/2007/06/04/gustav-holst-is-pretty-much-my-hero/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 21:21:58 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/04/gustav-holst-is-pretty-much-my-hero/</guid>
		<description><![CDATA[Ever now and again I have these bursts where I have an extreme affinity for either a particular composer or piece.
Currently, the lucky piece (and man!) is Gustav Holst&#8217;s &#8220;Second Suite in F&#8221;. I just love it &#8211; most especially the second movement.  
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=109&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ever now and again I have these bursts where I have an extreme affinity for either a particular composer or piece.</p>
<p>Currently, the lucky piece (and man!) is Gustav Holst&#8217;s &#8220;Second Suite in F&#8221;. I just love it &#8211; most especially the second movement. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/109/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/109/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=109&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/04/gustav-holst-is-pretty-much-my-hero/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
		<item>
		<title>Adventures with Scribble!: Nothing Quite Like Playtime</title>
		<link>http://wfarr.wordpress.com/2007/06/02/adventures-with-scribble-nothing-quite-like-playtime/</link>
		<comments>http://wfarr.wordpress.com/2007/06/02/adventures-with-scribble-nothing-quite-like-playtime/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 00:05:09 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Screenshots]]></category>
		<category><![CDATA[Scribble!]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/02/adventures-with-scribble-nothing-quite-like-playtime/</guid>
		<description><![CDATA[I was feeling a little bored, so I opened up Scribble! (after a brief svn update) and decided to play around some.
I ended up making the RGB circle:

While it obviously doesn&#8217;t blend to create that insanely cool effect, it looks cool anyway.  
During the process of this, however, something struck me&#8230; unless you&#8217;ve played [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=107&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was feeling a little bored, so I opened up Scribble! (after a brief svn update) and decided to play around some.</p>
<p>I ended up making the RGB circle:</p>
<p><a href="http://wfarr.files.wordpress.com/2007/06/screenshot.png" title="screenshot.png"><img src="http://wfarr.files.wordpress.com/2007/06/screenshot.thumbnail.png" alt="screenshot.png" align="middle" /></a></p>
<p>While it obviously doesn&#8217;t blend to create that insanely cool effect, it looks cool anyway. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>During the process of this, however, something struck me&#8230; unless you&#8217;ve played with graphics before, none of the &#8220;average Joe Sixpack&#8221; users that Scribble! is designed for know the golden rule of computer graphics!</p>
<p>When you&#8217;re working with graphics on a computer, there&#8217;s a little &#8220;rule&#8221; that you operate under. The point of origin is the top left corner of the screen. There are of course many reasons for this, none of which I&#8217;ll trouble you with, but, to keep things brief, if you were to draw up a simple grid with X and Y axes, as far as computer graphics are concerned, you&#8217;re dealing with the IV (4th) quadrant.</p>
<p>Now that we&#8217;ve established that, looking at Scribble!&#8217;s code is easy.</p>
<pre><code>size(360,300)
brush.stroke = 0, 0, 0, 0.7</code></pre>
<p>This code establishes the two traits of the Scribble we&#8217;re working on before we start any drawing. We&#8217;ve set the size to 360 pixels wide and 300 pixels tall. Then we&#8217;ve set the stroke of the brush (don&#8217;t forget &#8211; this is still Ruby and method act on objects, in this case, the stroke is acting on the brush) to be black using RGB values (0 red, 0 green, and 0 blue is the combination for black) and have an opacity of 70%.</p>
<pre><code>brush.fill = 1, 0, 1, 0.5
circle :center =&gt; [130,170], :radius =&gt; 75</code></pre>
<p>Now, we begin by setting the color of our brush to Magenta (1 red, 0 green, 1 blue) and set its opacity to 50%. This next portion is a little bit trickier in terms of syntax, but it&#8217;s relatively simple to read. We&#8217;re creating a circle with a center point 130 pixels to the right of the origin and 170 pixels down from the origin. If we compared this to the coordinate sheet we envisioned earlier, our center point is at (130, -170). The next bit, the radius, is set to 75. Simple, no? The rest of the script is just placing two more circles of different colors on other parts of our canvas.</p>
<p>If you&#8217;ve got any interesting Scribbles you want to share, please comment! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/107/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/107/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=107&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/02/adventures-with-scribble-nothing-quite-like-playtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>

		<media:content url="http://wfarr.files.wordpress.com/2007/06/screenshot.thumbnail.png" medium="image">
			<media:title type="html">screenshot.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Adventures with Scribble!: The Basics of Basics</title>
		<link>http://wfarr.wordpress.com/2007/06/01/adventures-with-scribble-the-basics-of-basics/</link>
		<comments>http://wfarr.wordpress.com/2007/06/01/adventures-with-scribble-the-basics-of-basics/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 00:02:56 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scribble!]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/01/adventures-with-scribble-the-basics-of-basics/</guid>
		<description><![CDATA[Scribble! has been undergoing many changes lately to prepare for the mystical and (at least in my case) anticipated 0.1 release.
But the important thing to remember about Scribble!, is that, just like Hackety Hack, its goal is to teach people how to program without breaking out the boring lectures about &#8220;Hey this is syntax. Do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=105&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Scribble! has been undergoing many changes lately to prepare for the mystical and (at least in my case) anticipated 0.1 release.</p>
<p>But the important thing to remember about Scribble!, is that, just like Hackety Hack, its goal is to teach people how to program without breaking out the boring lectures about &#8220;Hey this is syntax. Do it.&#8221; It&#8217;s a tool for beginners to learn a little bit about graphics using Cairo and Ruby to have a little fun and expand their knowledge.</p>
<p>So, you ask me, how does Scribble! do it?</p>
<p>Pretend we take the following code and drop it into Scribble!:</p>
<pre><code>#Set Canvas Size to 500x500!
size(500,500)
brush.fill = 0, 0, 0.9, 0.04 #Uses standard "Red, Green, Blue, Opacity" values
brush.stroke = 0, 0, 0, 0.1 #Same as above

#I like circles too! ^_^
30.times do
  circle :center =&gt; [rand(size[0]), rand(size[1])], :radius =&gt; (rand(size[0]) - 150)
end

#Draw a cool spiral thing that Evan Farrar came up with. B)
scribble(250,250) do |s|
  s.curve 250, 300
  s.curve 300, 250
  s.curve 250, 200
  s.curve 200, 250
  s.curve 250, 350
  s.curve 350, 250
  s.curve 250, 150
  s.curve 150, 250
  s.curve 250, 400
end

## And to top it off, a blue smiley face over everything!
scribble(100, 10) do |s|
  s.line(100, 60)
  s.jump(150, 10)
  s.line(150, 60)
  s.jump(80, 70)
  s.curve(125, 90)
  s.curve(170, 70)
end</code></pre>
<p>The code is, of course, a little commented (mainly because I&#8217;m a nice guy, &lt;3), so it shouldn&#8217;t take too much explanation. In fact, once you look at the image below, it shouldn&#8217;t take any at all!</p>
<p><img src="http://wfarr.files.wordpress.com/2007/06/scribble.png" alt="Scribble! here, Scribble! there…. hell Scribble! everywhere!" align="middle" /></p>
<p>So, I encourage you to go pick up Scribble from SVN and play around some:<br />
svn co svn://hamptoncatlin.com/scribble/trunk scribble</p>
<p>To run it, cd to &#8216;/path/to/scribble&#8217; and run &#8216;bin/scribble&#8217;. If you come up with anything neat, share it with me!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/105/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/105/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=105&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/01/adventures-with-scribble-the-basics-of-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>

		<media:content url="http://wfarr.files.wordpress.com/2007/06/scribble.png" medium="image">
			<media:title type="html">Scribble! here, Scribble! there…. hell Scribble! everywhere!</media:title>
		</media:content>
	</item>
		<item>
		<title>Fun Maths in Ruby</title>
		<link>http://wfarr.wordpress.com/2007/06/01/fun-maths-in-ruby/</link>
		<comments>http://wfarr.wordpress.com/2007/06/01/fun-maths-in-ruby/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 15:23:50 +0000</pubDate>
		<dc:creator>Will Farrington</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://wfarr.wordpress.com/2007/06/01/fun-maths-in-ruby/</guid>
		<description><![CDATA[There&#8217;s a buddy of mine who I chat with frequently on AIM by the name of Josh, and well, one of our favorite activities (besides endless political debates and what-not) is essentially a giant pissing contest between Ruby and Python.
Josh is your typical die-hard Python fan. In his mind, there really isn&#8217;t anything that can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=104&subd=wfarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There&#8217;s a buddy of mine who I chat with frequently on AIM by the name of Josh, and well, one of our <em>favorite</em> activities (besides endless political debates and what-not) is essentially a giant pissing contest between Ruby and Python.</p>
<p>Josh is your typical die-hard Python fan. In his mind, there really isn&#8217;t anything that can compare.</p>
<p>Naturally, it&#8217;s only my God-given duty to show him how and why I prefer Ruby. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>One of our recent contests involved the matter of a simple task: mathematically, find and print all numbers between 1 and 100, designating which were divisible by 3, 5, or both. He was the first one to write any code, and here&#8217;s what he came up with:</p>
<pre><code>i=1
while i&lt;=100:
    if i%15==0:
        print("%s is divisible by 3 and 5" % i)
    elif i%3==0:
        print("%s is divisible by 3" % i)
    elif i%5==0:
        print("%s is divisible by 5" % i)
    else:
        print i
    i=i+1</code></pre>
<p>Fairly simple, right? Here&#8217;s my first iteration, which is basically a mirror of Josh&#8217;s code in Ruby:</p>
<pre><code>i = 1
loop do
  i = i + 1
  if i &gt;= 101
    exit
  end
  case i
    when i % 15 == 0
      puts("#{i} is divisible by 15")
    when i % 3 == 0
      puts("#{i} is divisible by 3")
    when i % 5 == 0
      puts("#{i} is divisible by 5")
    else
      puts("#{i}")
  end
end</code></pre>
<p>As anyone can tell you, there are some inherent issues with that code. Let&#8217;s talk about them:</p>
<ul>
<li>The incrementation of i (i = i + 1) should never come at the beginning of a loop. It&#8217;s bad practice. I&#8217;m not going to go off into a huge rant as to why &#8211; it&#8217;s been covered and explained in so many text books and what-not that it&#8217;d be a waste of my time.</li>
<li>The code doesn&#8217;t intuitively &#8220;know&#8221; to stop at 100. It manually checks every single time the process is run if we&#8217;re above 100, which is unnecessarily redundant and time-consuming. Or just plain unnecessary.</li>
<li>Injecting a string was entirely unnecessary. &#8220;puts(i)&#8221; would have achieved the same effect in cleaner code.</li>
</ul>
<p>To summarize: there are better ways of doing it. One other way is to use a &#8216;while&#8217; loop, but that&#8217;s not the best way to do it either. In the end I settled for this implementation using a &#8220;for foo in bar&#8221; loop:</p>
<pre><code>for i in (1..100)
  if i % 15 == 0
    puts("#{i} is divisible by both 3 and 5")
  elsif i % 3 == 0
    puts("#{i} is divisible by 3")
  elsif i % 5 == 0
    puts("#{i} is divisible by 5")
  else
    puts(i)
  end
end</code></pre>
<p>Of course, after I did this, Josh realized he could do the same in Python:</p>
<pre><code>
for i in range(1, 101):
    if i%15==0:
        print("FizzBuzz")
    elif i%3==0:
        print("Fizz")
    elif i%5==0:
        print("Buzz")
    else:
        print i</code></pre>
<p>And for kicks, he even did it in LISP:</p>
<pre><code>(defun count()
	(setq i 1)
	(while (&lt;= i 100)
		(cond
			((= 15 (gcd i 15)) (princ "i is divisible by 5 and 3n")

			((= 5 (gcd i 5)) (princ "i is divisible by 5n")

			((= 3 (gcd i 3)) (princ "i is divisible by 3n")

			(t (princ i) (princ "n") )
		)
		(setq i (+ 1 i))
	)
	(princ)
)</code></pre>
<p>Let&#8217;s analyze the code (that is, my Ruby code), shall we?</p>
<p>The code opens with our main loop, which is a fairly readable type of loop. Simply put, it translates into &#8220;For the variable &#8216;i&#8217; in the range of numbers 1 through 100, including 1 and 100, do the following&#8221;. Fairly easy to understand right? That&#8217;s Ruby for you. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  From there, the code breaks down into a simple conditional where it checks first to see if the number is divisible by both 3 and 5. It goes on to check if it is divisible by 3 or 5. Finally, if none of the above is true, then the number is printed.</p>
<p>It&#8217;s important to understand why this code is better, and more efficient. First and foremost, it maintains readability, which is always a must when working with code, while at the same time using some of the nicer features in Ruby in order to avoid redundant work. The biggest change by switching to this type of loop is that the loop now knows to stop at 100 without us manually having to assert that the program exit. We also were able to remove all the redundant incrementation of &#8216;i&#8217; because it&#8217;s factored into our loop already.</p>
<p>So why am I writing about something so trivial as a pissing contest? Because it&#8217;s an important tool for learning about how to teach coding, and more specifically Ruby. Since I&#8217;m still learning (albeit at a fairly rapid rate), I&#8217;m essentially a perfect guinea pig. Until you break down things like &#8220;for foo in bar&#8221; into human-understandable syntax, you&#8217;ll find that you will be going at problems from a longer, more difficult angle. High-level languages have very strong and usable syntax for a reason. However, you&#8217;ve got to make a conscious effort into learning more than just the most basic of the basics. The quirks might not be enjoyable to learn, but they&#8217;ll improve your code ten-fold.</p>
<p>PS. Thanks to Nathan for tipping me off about using &#8220;for foo in bar&#8221; instead of while! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wfarr.wordpress.com/104/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wfarr.wordpress.com/104/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wfarr.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wfarr.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wfarr.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wfarr.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wfarr.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wfarr.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wfarr.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wfarr.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wfarr.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wfarr.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wfarr.wordpress.com&blog=1125941&post=104&subd=wfarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://wfarr.wordpress.com/2007/06/01/fun-maths-in-ruby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/993c45489aac7a71f27112ba2ab4f74c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wcfarrington</media:title>
		</media:content>
	</item>
	</channel>
</rss>