<?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/"
	>

<channel>
	<title>jameswfrost.co.uk &#187; article</title>
	<atom:link href="http://www.jameswfrost.co.uk/category/article/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jameswfrost.co.uk</link>
	<description>If you do things right, people won't be sure you've done anything at all.</description>
	<pubDate>Fri, 02 Jan 2009 17:05:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tumble-Hybrid A-Go-Go</title>
		<link>http://www.jameswfrost.co.uk/2008/09/08/tumble-hybrid-a-go-go/</link>
		<comments>http://www.jameswfrost.co.uk/2008/09/08/tumble-hybrid-a-go-go/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 12:31:43 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[this]]></category>

		<category><![CDATA[tumblelog]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/?p=92</guid>
		<description><![CDATA[After months of saying &#8216;I&#8217;m going to do it&#8217; I&#8217;ve finally made some alterations to jameswfrost.co.uk so it&#8217;ll act as a tumble-hybrid. That means it&#8217;s a combination of a normal blog (e.g. Wordpress-based) and a tumblelog (e.g. Tumblr-based). For me, it makes it easier to post short posts now and again, linking to pictures, videos, [...]]]></description>
			<content:encoded><![CDATA[<p>After months of saying &#8216;I&#8217;m going to do it&#8217; I&#8217;ve finally made some alterations to jameswfrost.co.uk so it&#8217;ll act as a tumble-hybrid. That means it&#8217;s a combination of a normal blog (e.g. Wordpress-based) and a <a href="http://en.wikipedia.org/wiki/Tumblelog" title="Description of a tumblelog on Wikipedia">tumblelog</a> (e.g. Tumblr-based). For me, it makes it easier to post short posts now and again, linking to pictures, videos, interesting articles, etc (and commenting on them) whilst at the same time still being able to write longer &#8216;proper&#8217; articles as I did sporadically before.</p>

<p>For you, the reader, there should be more stuff to look at and read. Neat! If you&#8217;re <strong>not</strong> interested in seeing the things I stumble across as I look around the internet, you can view just the old-style articles (without the tumble-ness) in the <a href="http://www.jameswfrost.co.uk/category/article/" title="articles section">articles section</a>. There&#8217;s a <a href="http://www.jameswfrost.co.uk/category/article/feed" title="articles feed">feed</a> of those available too. <a href="http://sucs.org/planet" title="Planet SUCS">Planet SUCS</a> now points at the articles feed (as I don&#8217;t want to fill it with tumble posts). If you currently only read this blog via Planet SUCS and you&#8217;d like to see the new tumble posts, then just subscribe to the <a href="http://www.jameswfrost.co.uk/feed" title="The jameswfrost.co.uk main RSS feed">main feed</a>.</p>

<p>I still have a few tweaks to make here and there - posting digests of delicious links weekly, perhaps integrating Twitter somehow, but the basics are all in place. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/09/08/tumble-hybrid-a-go-go/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Thoughts</title>
		<link>http://www.jameswfrost.co.uk/2008/08/13/twitter-thoughts/</link>
		<comments>http://www.jameswfrost.co.uk/2008/08/13/twitter-thoughts/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 16:46:51 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[article]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/?p=58</guid>
		<description><![CDATA[I was just thinking about the problem of status updates, and multiple sites that allow you to post them, and the fact that most of us use Twitter and it&#8217;s generally pretty flaky.

I realised that a potential solution would be to have a kind of status update protocol, that all of the status update sites [...]]]></description>
			<content:encoded><![CDATA[<p>I was just thinking about the problem of status updates, and multiple sites that allow you to post them, and the fact that most of us use Twitter and it&#8217;s generally pretty flaky.</p>

<p>I realised that a potential solution would be to have a kind of status update protocol, that all of the status update sites can conform to (some can have their own extensions, of course, such as pictures/locations, etc). Then people can host their own status update systems, much the way they host blogs now, or you can use one of the many ready-hosted services. The fact that all of these systems conform to the same protocol means that if, say, I used Twitter for my updates, I could still add you as a friend even if you were using your own self-hosted update system, and see your updates within my Twitter dashboard (and vice-versa).</p>

<p>Thoughts? Ideas? Anyone know if anything like this is happening already? Is there a big hole in my idea?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/08/13/twitter-thoughts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Losing</title>
		<link>http://www.jameswfrost.co.uk/2008/08/04/losing/</link>
		<comments>http://www.jameswfrost.co.uk/2008/08/04/losing/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 12:24:10 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[article]]></category>

		<category><![CDATA[this]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/?p=53</guid>
		<description><![CDATA[You may remember that back in May, myself and shepherdnick began a challenge to post one blog entry a day for an entire month, in an effort to get us writing more. Of course, the month deadline expired long ago - but how did we do?

In short, I failed miserably! I did well to begin [...]]]></description>
			<content:encoded><![CDATA[<p>You may remember that back in May, <a href="http://www.jameswfrost.co.uk/2008/05/26/5-great-video-games/">myself </a>and <a href="http://shepherdnick.wordpress.com/2008/05/26/all-time-top-5-greatest-video-games/">shepherdnick</a> began a challenge to post one blog entry a day for an entire month, in an effort to get us writing more. Of course, the month deadline expired long ago - but how did we do?</p>

<p>In short, I failed miserably! I did well to begin with, keeping up with the contest and sometimes posting in the wee small hours of the morning in order to get a post in. And then I pretty much dropped off the radar. I think mainly I ran out of things I really wanted to write about (or at least, write reasonable entries about). I&#8217;m sure if I had more of a tumblelog-style blog (where I&#8217;d post links, videos, pictures that I&#8217;ve found and linked) I&#8217;dve had more than enough material to keep me going. However, I have now developed a backlog of things I want to post about and thought I&#8217;d best round off the contest before making a start on those.</p>

<p>As for Nick, he did fantastically - as far as I&#8217;m aware he only dropped a couple of days - and wrote some brilliant entries. Great job, Nick! You were an excellent rival! I owe you a pint/ice-cream/ice-cream-in-a-pint! <img src='http://www.jameswfrost.co.uk/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/08/04/losing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Items We Carry</title>
		<link>http://www.jameswfrost.co.uk/2008/06/08/the-items-we-carry/</link>
		<comments>http://www.jameswfrost.co.uk/2008/06/08/the-items-we-carry/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 22:59:28 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[article]]></category>

		<category><![CDATA[pictures]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[flickr]]></category>

		<category><![CDATA[GTD]]></category>

		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/?p=50</guid>
		<description><![CDATA[Some time ago, I came across the Flickr group &#8220;What&#8217;s in Your Bag?&#8221; and so posted a picture of what was in my bag. It&#8217;s a bit of a shallow, materialistic meme, but hey.

That was 2 years ago, and I just stumbled across a similar (and seemingly currently popular) group on Flickr: The Items We [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-align: left;">Some time ago, I came across the <a href="http://www.flickr.com/" title="Flickr.com photo sharing website">Flickr</a> group <a href="http://www.flickr.com/groups/whats_in_your_bag/pool/" title="What's in Your Bag? group on Flickr">&#8220;What&#8217;s in Your Bag?&#8221;</a> and so posted a picture of <a href="http://www.flickr.com/photos/jamesfrost/215505940/" title="What's in My Bag? on Flickr">what was in my bag</a>. It&#8217;s a bit of a shallow, materialistic meme, but hey.</p>

<p>That was 2 years ago, and I just stumbled across a similar (and seemingly currently popular) group on Flickr: <a href="http://www.flickr.com/groups/theitemswecarry/pool/" title="The Items We Carry group on Flickr">The Items We Carry</a>. Without further ado, I present my updated &#8217;stuff&#8217;:</p>

<p><a href="http://www.flickr.com/photos/jamesfrost/2563192792/" title="The Items I Carry by James Frost, on Flickr"><img src="http://farm4.static.flickr.com/3181/2563192792_241088a1ed.jpg" width="500" height="356" alt="The Items I Carry" /></a></p>

<p>If you visit the photo on Flickr, you can rollover the items for an explanation, but I&#8217;ll replicate them here:</p>

<ul>
  <li><b>WHSmith Notepad + Fisher Space Pen</b>: These go with me pretty much everywhere. The notepad is tiny, and acts as my GTD inbox. The Space Pen isn&#8217;t the best pen in the world to write with - it&#8217;s kind of scratchy - but it&#8217;s really small!</li>
  <li><b>iPod Touch</b>: I loves my iPod, I does.</li>
  <li><b>Sony Ericsson K800i</b>: This is a nice phone, and I really like the Sony Ericssons. However, my contract&#8217;s nearly up, so I&#8217;m hoping to switch to an iPhone soon. Then I&#8217;ll only need to carry one thing instead of two!</li>
  <li><b>Keys</b>: Lots &#8216;o keys. The carabiner is from when I watched the Calgary Hitmen play ice hockey when I was in Canada in my gap year.</li>
  <li><b>Moleskine (plain notebook) + Pentel Hybrid Gel Grip pen</b>: These are a very recent addition, but they&#8217;re both brilliant. The Moleskine&#8217;s really nice, and replaces an A5 WHSmiths pad I used to use but that all the pages kept falling out of. Being stitched, I&#8217;m thinking the pages will stay in the Moleskine :-). The Pentel Hybrid Gel Grip pen was a recommendation from <a href="http://www.randsinrepose.com/archives/2007/10/16/the_gel_dilemma.html" title="The Gel Dilemma on Rands in Repose">Rands in Repose</a>, and is excellent to write with.</li>
  <li><b>Money + Cards</b>: I rarely have my wallet with me (I don&#8217;t like the bulk in my pockets, so only have it if I have a bag with me), so I just carry these loose.</li>
  <li><b>Inhaler</b>: I haven&#8217;t carried an inhaler with me for ages, but my hayfever&#8217;s just started playing up a tiny bit, so I&#8217;ve started taking this with me.</li>
</ul>

<p>I still use my tiny Gul rucksack that I showed in the <a href="http://www.flickr.com/photos/jamesfrost/215505940/" title="What's in My Bag? on Flickr">original photo</a> but it&#8217;s starting to show its age, and the zips are breaking a bit. If anybody knows of a nice, slim, A5 - A4 sized messenger bag/man-bag I can replace it with and fit this stuff in, please let me know! Also let me know if you do one of these photos yourself!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/06/08/the-items-we-carry/feed/</wfw:commentRss>
		</item>
		<item>
		<title>5 Artists, 5 Songs</title>
		<link>http://www.jameswfrost.co.uk/2008/06/04/5-artists-5-songs/</link>
		<comments>http://www.jameswfrost.co.uk/2008/06/04/5-artists-5-songs/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 17:37:27 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[meme]]></category>

		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/06/04/5-artists-5-songs/</guid>
		<description><![CDATA[Gareth tagged me to do Five artists, five songs, a blog meme.

List your five favourite artists, your five favourite songs by those artists and tag five other people to do it.



This was pretty tricky for me to answer as I generally seem to go in phases with music, and I&#8217;m not really &#8216;loyal&#8217; to any [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.garethjmsaunders.co.uk/" title="Gareth J M Saunders' blog">Gareth</a> tagged me to do <a href="http://blog.garethjmsaunders.co.uk/archives/2008/03/30/five-artists-five-songs/" title="Five artists, five songs, on Gareth J M Saunders' blog">Five artists, five songs</a>, a blog meme.</p>

<blockquote>List your five favourite artists, your five favourite songs by those artists and tag five other people to do it.</blockquote>

<p><span id="more-48"></span></p>

<p>This was pretty tricky for me to answer as I generally seem to go in phases with music, and I&#8217;m not really &#8216;loyal&#8217; to any particular artists. I also have a lot of single tracks from one artist in my collection (so, that artist only occurs once) which I love, but of course are no good for this meme. I used <a href="http://last.fm/" title="last.fm - the social music revolution">last.fm</a> to determine my &#8216;top artists&#8217;:</p>

<ol>
  <li>The Offspring</li>
  <li>OK Go</li>
  <li>Pendulum</li>
  <li>Belle and Sebastian</li>
  <li>Jack Johnson</li>
</ol>

<p>I wasn&#8217;t sure how accurate this would be, as I don&#8217;t always scrobble reliably (although, moreso recently) and I haven&#8217;t been actively using last.fm until fairly recently, despite being a member since 2005. However, I&#8217;d say The Offspring and OK Go should almost certainly be in my top 5, and the other 3 are all good too. Mika was just off the bottom of the list, here. Determining my top 5 songs for each artist was a little more tricky, but again last.fm came to the rescue!</p>

<h4>The Offspring</h4>

<ol>
<li>Want You Bad</li>
<li>Why Don&#8217;t You Get a Job?</li>
<li>No Brakes</li>
<li>Have You Ever</li>
<li>All I Want</li>
</ol>

<p>All great songs, and Want You Bad is almost certainly my favourite. All I Want is fantastic, too (and in Crazy Taxi!). In fact, I&#8217;m pretty certain it was Crazy Taxi that introduced me to The Offspring in the first place.</p>

<h4>OK Go</h4>

<ol>
<li>Here It Goes Again</li>
<li>A Million Ways</li>
<li>A Good Idea at the Time</li>
<li>Don&#8217;t Ask Me</li>
<li>It&#8217;s a Disaster (+ Hello, My Treacherous Friends was on equal ranking)</li>
</ol>

<p>OK Go are great, and their music has a pretty good range: some really energetic, some slower and gentler. Here It Goes Again deserves its place at the top - it&#8217;s my Power Song on my Nike+ running aid, and can just really perk me up when I&#8217;m flagging to complete that last quarter of a mile! Plus, fantastic video! <img src='http://www.jameswfrost.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>Pendulum</h4>

<ol>
<li>Blood Sugar</li>
<li>Slam</li>
<li>Distress Signal</li>
<li>Granite</li>
<li>Prelude (through the loop)</li>
</ol>

<p>I was introduced to Pendulum&#8230; last year, perhaps? I can&#8217;t remember who by, but it was almost certainly one of Chris, Dave, or Steve. Some of their stuff is so damn catchy (if not a bit samey).</p>

<h4>Belle and Sebastian</h4>

<ol>
<li>I&#8217;m a Cuckoo</li>
<li>Dear Catastrophe Waitress</li>
<li>Wrapped Up In Books</li>
<li>Expectations</li>
<li>Piazza, New York</li>
</ol>

<p>Belle and Sebastian are great (especially the Dear Catastrophe Waitress album), and I discovered them through I&#8217;m a Cuckoo, which is most likely why it&#8217;s at the top. Expectations is perhaps my current favourite (and featured in the Juno soundtrack!).</p>

<h4>Jack Johnson</h4>

<ol>
<li>Sitting, Waiting, Wishing</li>
<li>Constellations</li>
<li>Breakdown</li>
<li>Never Know</li>
<li>Do You Remember</li>
</ol>

<p>Jack Johnson makes some good music, although I&#8217;m not sure I would&#8217;ve particularly considered him when thinking of a top 5 myself. That said, all of these songs are fantastic.</p>

<p>So, those are my 5/5 according to last.fm. I figured that whilst I was looking at some music-related stats, I&#8217;d post some other things that might be of interest:</p>

<p>My favourite album is almost certainly the Garden State <a href="http://www.amazon.co.uk/Garden-State-Original-Soundtrack/dp/B0006GVJW6/ref=sr_1_1?ie=UTF8&amp;s=music&amp;qid=1212576074&amp;sr=8-1" title="Garden State soundtrack on Amazon.co.uk">soundtrack</a>. I love every single track on there. It&#8217;s just awesome (although, perhaps best if you&#8217;ve seen the film).</p>

<p>As I mentioned earlier, I have a lot of individual tracks for many artists, rather than whole albums. I thought I&#8217;d take a look at my top 10 tracks overall, to see what&#8217;s in it:</p>

<ol>
<li>Regina Spektor – Fidelity</li>
<li>Yael Naïm – New Soul</li>
<li>The Offspring – Want You Bad</li>
<li>Belle and Sebastian – I&#8217;m a Cuckoo</li>
<li>Jonathan Coulton – Code Monkey</li>
<li>Duke Special – Everybody wants a little something</li>
<li>Skins Cast &amp; Cat Stevens – Wild World</li>
<li>José González – Heartbeats</li>
<li>Amy Adams – That&#8217;s How You Know</li>
<li>Pendulum – Blood Sugar</li>
</ol>

<p>All of these tracks are fantastic (although, I haven&#8217;t listened to <em>Heartbeats</em> for ages), but note that this only includes two tracks from my &#8216;top five&#8217; artists. <em>Fidelity</em> and <em>New Soul</em> are quite similar sounds to one another, I think, and they&#8217;re both fairly recent finds of mine so I find it fairly amazing that they&#8217;re already at the top of the list. Duke Special is another current favourite, that I discovered through <a href="http://www.cabel.name/2008/01/2007-cabel-yay-awards.html" title="The 2007 Cabel Yay! Awards">The Cabel Yay! Awards</a>. Oh, and That&#8217;s How You Know? Let&#8217;s just call it a <a href="http://www.amazon.co.uk/Enchanted-Amy-Adams/dp/B0013UY4YY/ref=sr_1_1?ie=UTF8&amp;s=dvd&amp;qid=1212577657&amp;sr=8-1" title="Enchanted DVD on Amazon.co.uk">guilty</a> pleasure. <img src='http://www.jameswfrost.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>I tag <a href="http://shepherdnick.wordpress.com/" title="Nick Shepherd's Blog">Nick</a> and <a href="http://www.tobeon.co.uk/" title="Tom Bradley's Website">Tom</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/06/04/5-artists-5-songs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Building Ruby 1.9 on Mac OS X 10.5 (Leopard)</title>
		<link>http://www.jameswfrost.co.uk/2008/06/03/building-ruby-19-on-mac-os-x-105-leopard/</link>
		<comments>http://www.jameswfrost.co.uk/2008/06/03/building-ruby-19-on-mac-os-x-105-leopard/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 22:59:52 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[OS X]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/06/03/building-ruby-19-on-mac-os-x-105-leopard/</guid>
		<description><![CDATA[I&#8217;ve recently been learning Ruby, and I wanted to install Ruby 1.9 on OS X to try out some of the new features (the current &#8217;stable&#8217; version of Ruby is 1.8.6). Unfortunately, I couldn&#8217;t find one cohesive guide to doing this, and instead had to mash together various instructions from across the interwebs. I&#8217;ve pieced [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been learning Ruby, and I wanted to install Ruby 1.9 on OS X to try out some of the new features (the current &#8217;stable&#8217; version of Ruby is 1.8.6). Unfortunately, I couldn&#8217;t find one cohesive guide to doing this, and instead had to mash together various instructions from across the interwebs. I&#8217;ve pieced everything together here in the hope that it&#8217;ll help out someone else. <img src='http://www.jameswfrost.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<h4>Step 1:</h4>

<p>Firstly, readline needs updating, so grab readline 5.2 from <a href="http://ftp.gnu.org/gnu/readline/" title="GNU Readline Downloads">http://ftp.gnu.org/gnu/readline/</a>. After extracting it (tar xvzf readline-5.2.tar.gz) you&#8217;ll need to make one or two changes so that it will build correctly on Leopard. Simply apply this <a href="http://www.ruby-forum.com/topic/136498#607592" title="Patch for readline 5.2 on Leopard">patch</a> to support/shobj-conf in the readline directory you&#8217;ve created. The patch is necessary because readline currently doesn&#8217;t check for Leopard, only for earlier versions of OS X. In fact, the patch is simple enough that you could change the two lines by hand if necessary.</p>

<p>Then, configure readline, specifying a location so you don&#8217;t interfere with what&#8217;s already on your system, then build and install it:</p>


<div class="wp_syntax"><div class="code"><pre class="bash">.<span style="color: #000000; font-weight: bold;">/</span>configure --<span style="color: #007800;">prefix=</span><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>


<h4>Step 2:</h4>

<p>Next, you&#8217;ll want to download Ruby 1.9: <a href="http://ftp.ruby-lang.org/pub/ruby/1.9/" title="Ruby 1.9 downloads">http://ftp.ruby-lang.org/pub/ruby/1.9/</a>. Again, we want to specify our own install location, and we also need to tell it where our newly installed readline is. We&#8217;re also specifying a program-suffix here (-trunk) so we can differentiate Ruby 1.9 from our pre-installed Ruby (so we&#8217;ll access 1.9 with ruby-trunk, irb-trunk, etc, and 1.8.6 with ruby, irb, etc).</p>


<div class="wp_syntax"><div class="code"><pre class="bash"><span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf ruby<span style="color: #000000;">-1.9</span><span style="color: #000000;">.0</span><span style="color: #000000;">-1</span>.<span style="color: #c20cb9; font-weight: bold;">tar</span>.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> ruby<span style="color: #000000;">-1.9</span><span style="color: #000000;">.0</span><span style="color: #000000;">-1</span>
.<span style="color: #000000; font-weight: bold;">/</span>configure --<span style="color: #007800;">prefix=</span><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><span style="color: #000000; font-weight: bold;">/</span>ruby1<span style="color: #000000;">.9</span> --program-<span style="color: #007800;">suffix=</span>-trunk --with-readline-<span style="color: #007800;">dir=</span><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span> --
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>


<h4>Step 3:</h4>

<p>Finally, because we&#8217;ve installed Ruby in a specific location, you&#8217;ll most likely need to add its location to your path. I have a bin/ directory in my home directory, so I simply have the following line in my .bash_profile:</p>


<div class="wp_syntax"><div class="code"><pre class="bash"><span style="color: #808080; font-style: italic;"># Add Ruby 1.9</span>
<span style="color: #007800;">PATH=</span><span style="color: #007800;">$PATH</span>:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><span style="color: #000000; font-weight: bold;">/</span>ruby1<span style="color: #000000;">.9</span><span style="color: #000000; font-weight: bold;">/</span>bin</pre></div></div>


<p>And you&#8217;re done. You can test by running ruby-trunk &#8211;version. Any problems, sound off in the comments. I may have missed something, as it&#8217;s rather late - and I could&#8217;ve almost certainly written this better. Hopefully I&#8217;ll revisit it in the future. If you get stuck, the articles I used to put this together might be of use:</p>

<ul>
  <li><a href="http://lindsaar.net/2008/1/18/installing-ruby-1-9-on-mac-osx" title="Installing Ruby 1.9 on Mac OSX">http://lindsaar.net/2008/1/18/installing-ruby-1-9-on-mac-osx</a></li>
  <li><a href="http://www.ruby-forum.com/topic/136498" title="Trouble with readline and building Ruby 1.9">http://www.ruby-forum.com/topic/136498</a></li>
  <li>Also, thank you to Han Kessels for helping me via e-mail.</li>
  <li>And I&#8217;m sure there were some other sites, that I can&#8217;t recall at the moment.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/06/03/building-ruby-19-on-mac-os-x-105-leopard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Swapping Variables</title>
		<link>http://www.jameswfrost.co.uk/2008/06/02/swapping-variables/</link>
		<comments>http://www.jameswfrost.co.uk/2008/06/02/swapping-variables/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 22:50:09 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[geek]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/06/02/swapping-variables/</guid>
		<description><![CDATA[I thought I&#8217;d share a little trick I learnt the other day regarding swapping variables.

A common coding/computer science task is to swap the values of two variables. In some languages, such as Java, one may start by creating a new temporary variable. For example (assuming we already have two ints, x and y):


int temp = [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d share a little trick I learnt the other day regarding swapping variables.</p>

<p>A common coding/computer science task is to swap the values of two variables. In some languages, such as Java, one may start by creating a new temporary variable. For example (assuming we already have two ints, x and y):</p>


<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #993333;">int</span> temp = x<span style="color: #66cc66;">;</span>
x = y<span style="color: #66cc66;">;</span>
y = temp<span style="color: #66cc66;">;</span></pre></div></div>


<p>This creation of a new variable uses more memory, and whilst in most circumstances would be fine, it could become an issue if we&#8217;re swapping many times, for example in a sorting algorithm.</p>

<p>Some languages allow us to do a nice swap without extra variables, using multiple assignment and tuple packing and unpacking:</p>


<div class="wp_syntax"><div class="code"><pre class="python">x, y = y, x</pre></div></div>


<p>This is pretty neat, although is apparently slower than using a temporary variable.</p>

<p>Anyway, yesterday I discovered a third method: XOR swapping. Again, this doesn&#8217;t require the use of an extra variable, and I thought it was pretty clever (here ^ represents XOR, as in Python):</p>


<div class="wp_syntax"><div class="code"><pre class="python">x = x ^ y
y = x ^ y
x = x ^ y</pre></div></div>


<p>Neat, huh? It&#8217;s fairly simple to see how it works if you simply walk through the steps. Let&#8217;s swap x = 7, y = 9:</p>


<div class="wp_syntax"><div class="code"><pre class="python">x = <span style="color: #ff4500;">0111</span>
y = <span style="color: #ff4500;">1001</span>
x = x ^ y = <span style="color: #ff4500;">1110</span>
y = x ^ y = <span style="color: #ff4500;">0111</span>
x = x ^ y = <span style="color: #ff4500;">1001</span></pre></div></div>


<p>Apparently this method is quite commonly used in embedded assembly code, however you won&#8217;t find it appearing much in code on a desktop computer. It usually is slower to compute than using temporary variables, as most processors attempt to execute commands in parallel - and of course, each of these instructions depends upon the previous result, so they must be executed sequentially. Still, it&#8217;s a nice thing to know.</p>

<p>The short version: it seems that if you&#8217;re trying to save memory then XOR swap or use multiple assignment, otherwise if efficiency is an issue, use a temporary variable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/06/02/swapping-variables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bookmarks and That</title>
		<link>http://www.jameswfrost.co.uk/2008/06/01/bookmarks-and-that/</link>
		<comments>http://www.jameswfrost.co.uk/2008/06/01/bookmarks-and-that/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 21:46:19 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[bookmarks]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/06/01/bookmarks-and-that/</guid>
		<description><![CDATA[The other day I mentioned that I sometimes get into a bit of trouble when browsing the web, in that I end up having a huge number of tabs open, so I thought I&#8217;d blog a bit more about it. At the moment, I use several methods of bookmarking websites: del.icio.us to save urls for [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I mentioned that I sometimes get into a bit of trouble when browsing the web, in that I end up having a huge number of tabs open, so I thought I&#8217;d blog a bit more about it. At the moment, I use several methods of bookmarking websites: del.icio.us to save urls for reference and and long-term recall (so, things I <em>may</em> want at some point in the future), Instapaper for things I haven&#8217;t finished reading yet, and then a combination of Safari bookmarks, Together, and keeping tabs open in Safari to remember stuff I&#8217;m researching or working on at the moment (so, things I will probably need sometime soon).</p>

<p>Obviously, using a multitude of systems for variations on the same task isn&#8217;t ideal. I&#8217;m sure it&#8217;d be possible to use del.icio.us in such a way that you could cover all these uses with the right selection of tags, however again I&#8217;m not sure this is ideal, and it&#8217;s not the intended use of the system. If anyone knows of a bookmarking system that covers most/all of these uses, please let me know!</p>

<p>My current plan is to implement my own system to solve this problem, and I figure it&#8217;d be a good excuse to put Ruby on Rails into practice to make a proper website. Intended features include: storage of bookmarks for a range of uses - each with an associated &#8216;view&#8217; (these uses will include reference, research, and pages currently being read), tagging of bookmarks, and adding bookmarks via bookmarklets. I&#8217;ll let you know how I get on.</p>

<p>Apologies for the lack of links in this post - I&#8217;m currently in the pub on my iPod Touch and I can&#8217;t be arsed. I&#8217;ll add them when I get home <img src='http://www.jameswfrost.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/06/01/bookmarks-and-that/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FizzBuzz Follow-up</title>
		<link>http://www.jameswfrost.co.uk/2008/05/30/fizzbuzz-follow-up/</link>
		<comments>http://www.jameswfrost.co.uk/2008/05/30/fizzbuzz-follow-up/#comments</comments>
		<pubDate>Fri, 30 May 2008 22:58:58 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[geek]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/05/30/fizzbuzz-follow-up/</guid>
		<description><![CDATA[I thought I&#8217;d post a follow-up to yesterday&#8217;s FizzBuzz post with some sample solutions, as a bunch of you seemed to find it fun to solve. Feel free to add your own solutions in the comments of this post!

My own first solution was Python-based, and a fairly simple one:


1
2
3
4
5
6
7
8
9
for i in range&#40;1,101&#41;:
    [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d post a follow-up to yesterday&#8217;s <a href="http://www.jameswfrost.co.uk/2008/05/29/fizzbuzz-and-other-problems/" title="The FizzBuzz problem">FizzBuzz</a> post with some sample solutions, as a bunch of you seemed to find it fun to solve. Feel free to add your own solutions in the comments of this post!</p>

<p>My own first solution was Python-based, and a fairly simple one:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="python"><span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">101</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">3</span> == <span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">and</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">5</span> == <span style="color: #ff4500;">0</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;FizzBuzz&quot;</span>
    <span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">3</span> == <span style="color: #ff4500;">0</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Fizz&quot;</span>
    <span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">5</span> == <span style="color: #ff4500;">0</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Buzz&quot;</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> i</pre></td></tr></table></div>


<p>Obviously it&#8217;s not in a function or anything, but I just wanted to do it as fast as possible. Shortly afterwards, I realised that line 2 could be simplified by changing it to:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
</pre></td><td class="code"><pre class="python">	<span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">15</span> == <span style="color: #ff4500;">0</span>:</pre></td></tr></table></div>


<p>Because of course, if a number is a multiple of 3 and 5, then it must be a multiple of 15.</p>

<p>Here are a couple of nice alternatives (ideas courtesy of <a href="http://minus-zero.org/" title="Dave Arter">Dave</a>, although re-written by me because we didn&#8217;t save them). First, writing FizzBuzz as a iterator:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="python"><span style="color: #ff7700;font-weight:bold;">def</span> fizzbuzz_generator<span style="color: black;">&#40;</span>n<span style="color: black;">&#41;</span>:
	<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>, n<span style="color: #ff4500;">+1</span><span style="color: black;">&#41;</span>:
		<span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">15</span> == <span style="color: #ff4500;">0</span>:
			<span style="color: #ff7700;font-weight:bold;">yield</span> <span style="color: #483d8b;">&quot;FizzBuzz&quot;</span>
		<span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">3</span> == <span style="color: #ff4500;">0</span>:
			<span style="color: #ff7700;font-weight:bold;">yield</span> <span style="color: #483d8b;">&quot;Fizz&quot;</span>
		<span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">5</span> == <span style="color: #ff4500;">0</span>:
			<span style="color: #ff7700;font-weight:bold;">yield</span> <span style="color: #483d8b;">&quot;Buzz&quot;</span>
		<span style="color: #ff7700;font-weight:bold;">else</span>:
			<span style="color: #ff7700;font-weight:bold;">yield</span> <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> result <span style="color: #ff7700;font-weight:bold;">in</span> fizzbuzz_generator<span style="color: black;">&#40;</span><span style="color: #ff4500;">100</span><span style="color: black;">&#41;</span>: <span style="color: #ff7700;font-weight:bold;">print</span> result</pre></td></tr></table></div>


<p>Then, a simple function to calculate the correct fizz/buzz, combined with a list comprehension to create the result (man, I love list comprehensions):</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="python"><span style="color: #ff7700;font-weight:bold;">def</span> fizzbuzz<span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>:
	<span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">15</span> == <span style="color: #ff4500;">0</span>:
		<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;FizzBuzz&quot;</span>
	<span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">3</span> == <span style="color: #ff4500;">0</span>:
		<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;Fizz&quot;</span>
	<span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">5</span> == <span style="color: #ff4500;">0</span>:
		<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;Buzz&quot;</span>
	<span style="color: #ff7700;font-weight:bold;">else</span>:
		<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span>fizzbuzz<span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">101</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>


<p>Finally, here are two neat little Ruby one-liners, taken from the comments of the <a href="http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/" title="Using FizzBuzz to Find Developers Who Grok Coding">original FizzBuzz article</a>. I hope the authors (<a href="http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/#comment-2866" title="Comment on the original FizzBuzz article">Brendan</a>, and <a href="http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/#comment-2858" title="Comment on the original FizzBuzz article">Brian</a> respectively) don&#8217;t mind me reproducing them here:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby"><span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">1</span>..<span style="color:#006666;">100</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">map</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>i<span style="color:#006600; font-weight:bold;">|</span><span style="color:#006600; font-weight:bold;">&#40;</span>s=<span style="color:#006600; font-weight:bold;">&#40;</span>i<span style="color:#006600; font-weight:bold;">%</span><span style="color:#006666;">3</span>==<span style="color:#006666;">0</span>?<span style="color:#996600;">'Fizz'</span>:<span style="color:#996600;">''</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">+</span><span style="color:#006600; font-weight:bold;">&#40;</span>i<span style="color:#006600; font-weight:bold;">%</span><span style="color:#006666;">5</span>==<span style="color:#006666;">0</span>?<span style="color:#996600;">'Buzz'</span>:<span style="color:#996600;">''</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>==<span style="color:#996600;">''</span>?i:s<span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">1</span>..<span style="color:#006666;">100</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">map</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>i<span style="color:#006600; font-weight:bold;">|</span>i<span style="color:#006600; font-weight:bold;">%</span><span style="color:#006666;">15</span>==<span style="color:#006666;">0</span>?<span style="color:#996600;">'FizzBuzz'</span><span style="color:#ff3333; font-weight:bold;">:i</span><span style="color:#006600; font-weight:bold;">%</span><span style="color:#006666;">5</span>==<span style="color:#006666;">0</span>?<span style="color:#996600;">'Buzz'</span><span style="color:#ff3333; font-weight:bold;">:i</span><span style="color:#006600; font-weight:bold;">%</span><span style="color:#006666;">3</span>==<span style="color:#006666;">0</span>?<span style="color:#996600;">'Fizz'</span><span style="color:#ff3333; font-weight:bold;">:i</span><span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>


<p>How neat is that? Anyway, as I said, feel free to leave your own solutions below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/05/30/fizzbuzz-follow-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FizzBuzz and Other Problems</title>
		<link>http://www.jameswfrost.co.uk/2008/05/29/fizzbuzz-and-other-problems/</link>
		<comments>http://www.jameswfrost.co.uk/2008/05/29/fizzbuzz-and-other-problems/#comments</comments>
		<pubDate>Thu, 29 May 2008 17:28:01 +0000</pubDate>
		<dc:creator>frosty</dc:creator>
		
		<category><![CDATA[SUCS]]></category>

		<category><![CDATA[article]]></category>

		<category><![CDATA[text]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[geek]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.jameswfrost.co.uk/2008/05/29/42/</guid>
		<description><![CDATA[Update:  Check out the follow-up post for some sample solutions!

I love to code. Since a young age (I think I was about 7 when we first got out BBC B, and I would patiently tap BASIC code into the blinking prompt from childrens&#8217; books about programming), I&#8217;ve loved to write programs. I read somewhere [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: </strong> Check out the <a href="http://www.jameswfrost.co.uk/2008/05/30/fizzbuzz-follow-up" title="Follow-up post, on solutions to the FizzBuzz problem">follow-up</a> post for some sample solutions!</p>

<p>I love to code. Since a young age (I think I was about 7 when we first got out BBC B, and I would patiently tap BASIC code into the blinking prompt from childrens&#8217; books about programming), I&#8217;ve loved to write programs. I read somewhere recently (unfortunately, I forget where) that it&#8217;s not the act of coding itself we love, but rather it&#8217;s solving problems that we love. I think that&#8217;s one reason I like learning new programming languages, as it allows me to solve problems in different ways.</p>

<p>A while back, I came upon the <a href="http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/" title="Using FizzBuzz to find developers who grok coding">FizzBuzz</a> idea. In short, it&#8217;s a simple exercise for employers to give to potential employees at interviews; a very simple exercise, yet one that someone will only be able to answer quickly if they &#8216;get&#8217; programming. A suggested FizzBuzz problem is the following:</p>

<blockquote>Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.</blockquote>

<p>I invite everyone reading this to have a go now - time yourself, and see how quickly you can do it. Unfortunately, I only timed myself by looking at the clock, but I was glad to have completed it in under a minute. Apparently this shows I can code:</p>

<blockquote>Most good programmers should be able to write out on paper a program which does this in a under a couple of minutes.

Want to know something scary ? - the majority of comp sci graduates can’t. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.</blockquote>

<p>That is a scary thought, but I expect it&#8217;s almost certainly true.</p>

<p>So, this sort of simple problem excites me - I can work out a solution, and then try and improve that, perhaps. Myself and <a href="http://minus-zero.org/" title="Dave Arter's Website">Dave</a> spent a fair while earlier today trying to come up with more and more sophisticated solutions. And y&#8217;know what? It was fun!</p>

<p>On a similar note, I thought I&#8217;d mention a website that I found a while back (thanks to Matt Gwynne) that might be of interest to anybody else who enjoys these kind of problems. <a href="http://projecteuler.net/" title="Project Euler">Project Euler</a> is &#8220;a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve&#8221;. It contains a list of (at the time of writing) 195 mathematical problems, and the aim is to write code to solve them. You can then put in your answers, the website will tell you if you&#8217;re correct, and check them off the list. Great fun, and it&#8217;s neat to see some of the interesting solutions that people come up with (and the range of languages they use!). Hooray for being a geek! \o/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jameswfrost.co.uk/2008/05/29/fizzbuzz-and-other-problems/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
