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

<channel>
	<title>Friend of the Pigeon</title>
	<atom:link href="http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.friendofthepigeon.co.uk/wordpress</link>
	<description>I'm not very good but I'm trying to be better</description>
	<pubDate>Wed, 17 Jun 2009 18:48:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>The Green Hop</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=63</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=63#comments</comments>
		<pubDate>Wed, 17 Jun 2009 18:48:54 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=63</guid>
		<description><![CDATA[New poem (from March): The Green Hop.
]]></description>
			<content:encoded><![CDATA[<p>New poem (from March): <a href="/wordpress/?page_id=61">The Green Hop</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=63</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk snippet of the day: Fizz Buzz</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=53</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=53#comments</comments>
		<pubDate>Tue, 27 Feb 2007 23:38:18 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=53</guid>
		<description><![CDATA[The spec. is: print the numbers from 1 to 100, except where a number is divisible by 5, print &#8220;Fizz&#8221;, and where divisible by 7, print &#8220;Buzz&#8221;. Where divisible by both, print &#8220;Fizz Buzz&#8221;.

1 to: 100 do:
    [ :i &#124; &#124; fb &#124;
    fb := (#((5 'Fizz') (7 'Buzz'))
 [...]]]></description>
			<content:encoded><![CDATA[<p>The spec. is: print the numbers from 1 to 100, except where a number is divisible by 5, print &#8220;Fizz&#8221;, and where divisible by 7, print &#8220;Buzz&#8221;. Where divisible by both, print &#8220;Fizz Buzz&#8221;.</p>
<p><code>
<pre>1 to: 100 do:
    [ :i | | fb |
    fb := (#((5 'Fizz') (7 'Buzz'))
        select: [ :each | i \\ each first = 0 ])
        collect: [ :each | each second ].
    Transcript
        &lt;&lt; (fb isEmpty
            ifTrue: [ i ]
            ifFalse: [ fb fold: [ :a :b | a, ' ', b ] ]) ;
        nl. ].</pre>
<p></code></p>
<p>Nested ifTrue:ifFalse:, or and: / or: might do the job in fewer lines, but would be more cryptic. Note that this version splits out the &#8217;spec&#8217; part into an array, so you could add (11 &#8216;Bazz&#8217;). Nevertheless, I feel that there could be a better version&#8230;</p>
<p>This came up in the context of an article which said that 199 out of 200 job applicants couldn&#8217;t code it correctly. Many people expressed disbelief, claiming that it is an easy problem. The thing is, <em>it&#8217;s not that easy</em>. Sure,  you can write a version that works, but getting it exactly right first time is hard. I didn&#8217;t: I didn&#8217;t suppress the numbers when it was Fizz (or Buzz); I only printed one of Fizz / Buzz, when both matched, and so on.</p>
<p>I suppose my mistake was not to write tests in advance of coding (because it was a simple problem - duh). Next time, I will try that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=53</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk example of the day</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=51</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=51#comments</comments>
		<pubDate>Fri, 23 Feb 2007 21:52:43 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=51</guid>
		<description><![CDATA[I often find myself typing out code snippets to prove to myself that, yes, it really is easy in Smalltalk. Rather than keep them to myself, I think they may be useful as examples of Smalltalk code, so I&#8217;m going to try starting a series.
At The Daily WTF, they are removing spaces from a string. [...]]]></description>
			<content:encoded><![CDATA[<p>I often find myself typing out code snippets to prove to myself that, yes, it really is easy in Smalltalk. Rather than keep them to myself, I think they may be useful as examples of Smalltalk code, so I&#8217;m going to try starting a series.</p>
<p>At <a href="http://thedailywtf.com/Articles/Removing_Spaces,_the_Easy_Way.aspx">The Daily WTF</a>, they are removing spaces from a string. In Smalltalk, this is:</p>
<p><code>'The cat sat on the mat' copyWithout: Character space.</code></p>
<p>If you want to remove any whitespace, you can use:</p>
<p><code>'The cat sat on the mat' reject: [ :c | c isSeparator ].</code></p>
<p>Remove any non-alphanumeric:</p>
<p><code>'The cat sat on the mat' select: [ :c | c isAlphaNumeric ].</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=51</wfw:commentRss>
		</item>
		<item>
		<title>Mouse</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=50</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=50#comments</comments>
		<pubDate>Fri, 24 Nov 2006 23:07:11 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=50</guid>
		<description><![CDATA[Thought I&#8217;d post this mouse. It&#8217;s the first SVG drawing I did.

As with all my images, this is available under a CC attribution / share-alike license.
]]></description>
			<content:encoded><![CDATA[<p>Thought I&#8217;d post this mouse. It&#8217;s the first SVG drawing I did.</p>
<p><object type="image/svg+xml" data="http://www.friendofthepigeon.co.uk/wordpress/wp-content/mouse1.svg" style="width: 400px; height: 400px;" ><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/mouse1.png' alt='mouse' /></object></p>
<p>As with all my images, this is available under a CC attribution / share-alike license.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=50</wfw:commentRss>
		</item>
		<item>
		<title>A Pop Client</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=49</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=49#comments</comments>
		<pubDate>Mon, 20 Nov 2006 21:12:10 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=49</guid>
		<description><![CDATA[This is ported from CL-POP, which is written by Brian Sorg and is gratifyingly easy to port. Not sure if that is because of Brian&#8217;s good code, because POP is a very simple protocol, or because of the cousinly similarity of Lisp and Smalltalk.
pop.tgz.
Also contained in the archive is an example script which deletes mail [...]]]></description>
			<content:encoded><![CDATA[<p>This is ported from CL-POP, which is written by Brian Sorg and is gratifyingly easy to port. Not sure if that is because of Brian&#8217;s good code, because POP is a very simple protocol, or because of the cousinly similarity of Lisp and Smalltalk.</p>
<p><a href='http://www.friendofthepigeon.co.uk/wordpress/wp-content/pop.tgz' title=''>pop.tgz</a>.</p>
<p>Also contained in the archive is an example script which deletes mail off of the server according to its headers. </p>
<p>NB. Only those methods of PopClient which are in the tests or used by the script have been tested, and that does <em>not</em> include retrieving whole messages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=49</wfw:commentRss>
		</item>
		<item>
		<title>My First Scheme Program!</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=48</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=48#comments</comments>
		<pubDate>Sun, 12 Nov 2006 22:42:25 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=48</guid>
		<description><![CDATA[I was following a Photoshop tutorial for creating Lichenstein-style images when I realized that it was using a built-in filter, which GIMP lacks&#8230; so I wrote one.
Halftone dots version 1.
I haven&#8217;t wrapped it up with the script-fu stuff, so if you want to run this for yourself, you have to run the (define)s first, then [...]]]></description>
			<content:encoded><![CDATA[<p>I was following a Photoshop tutorial for creating Lichenstein-style images when I realized that it was using a built-in filter, which GIMP lacks&#8230; so I wrote one.</p>
<p><a href='http://www.friendofthepigeon.co.uk/wordpress/wp-content/benday2.scm' title=''>Halftone dots version 1</a>.</p>
<p>I haven&#8217;t wrapped it up with the script-fu stuff, so if you want to run this for yourself, you have to run the (define)s first, then the script at the end; it will create a new layer with a dot-rendition of the currently active layer.</p>
<p>I&#8217;ve been wanting to learn Lisp/Scheme for some time now, but needed a project. I must say, GIMP makes it quite hard - it often uses arrays instead of lists, for example, and the IDE - well, it&#8217;s charitable to call it even that. Still, it offers me a lot more possibilities than I had before. If only Inkscape were scriptable.</p>
<p><em>Correction - these are halftone dots; benday dots are of uniform size (much easier). Possibly the dots should be on a 45 degree grid as well.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=48</wfw:commentRss>
		</item>
		<item>
		<title>New Smalltalk article series</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=46</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=46#comments</comments>
		<pubDate>Fri, 06 Oct 2006 14:46:32 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=46</guid>
		<description><![CDATA[I didn&#8217;t find writing a tutorial very satisfactory, so I&#8217;m going to try another take on introducing Smalltalk, by talking about those features of the language that really amaze me.
Wow Smalltalk!
]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t find writing a tutorial very satisfactory, so I&#8217;m going to try another take on introducing Smalltalk, by talking about those features of the language that really amaze me.</p>
<p><a href="http://www.friendofthepigeon.co.uk/wordpress/?page_id=44">Wow Smalltalk!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=46</wfw:commentRss>
		</item>
		<item>
		<title>SVG Browser pt. 2</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=42</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=42#comments</comments>
		<pubDate>Thu, 05 Oct 2006 13:22:03 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=42</guid>
		<description><![CDATA[The SVG browser has the problem that putting text at angles seems to make Firefox start working the processor hard, even after the image is rendered. Don&#8217;t know why.
Anyway, here&#8217;s a reworking of the Class diagram with the methods all horizontal. Maybe it&#8217;s more readable too&#8230;

Here&#8217;s a mockup of a class hierarchy diagram:

Obviously, I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>The SVG browser has the problem that putting text at angles seems to make Firefox start working the processor hard, even after the image is rendered. Don&#8217;t know why.</p>
<p>Anyway, here&#8217;s a reworking of the Class diagram with the methods all horizontal. Maybe it&#8217;s more readable too&#8230;</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/screenshot05.10.200614.04.05.png' alt='Class diagram - horiz. text' /></p>
<p>Here&#8217;s a mockup of a class hierarchy diagram:</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/classhierarchymockup.png' alt='' /></p>
<p>Obviously, I don&#8217;t expect to show the whole tree this way - only small portions of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=42</wfw:commentRss>
		</item>
		<item>
		<title>SVG Browser</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=41</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=41#comments</comments>
		<pubDate>Wed, 04 Oct 2006 20:14:07 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=41</guid>
		<description><![CDATA[Some screenshots of the SVG browser I was playing with a while back:
A class diagram (inspired by the &#8216;donut&#8217; diagrams in &#8220;Smalltalk, Objects, and Design&#8221;):

A namespace tree - the maths needs a bit of work, and the tree is way too cramped:

]]></description>
			<content:encoded><![CDATA[<p>Some screenshots of the SVG browser I was playing with a while back:</p>
<p>A class diagram (inspired by the &#8216;donut&#8217; diagrams in &#8220;Smalltalk, Objects, and Design&#8221;):</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/screenshot04.10.200619.10.56.png' alt='Class diagram' /></p>
<p>A namespace tree - the maths needs a bit of work, and the tree is <em>way</em> too cramped:</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/screenshot04.10.200619.11.54.png' alt='Namespace diagram' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=41</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk logos</title>
		<link>http://www.friendofthepigeon.co.uk/wordpress/?p=39</link>
		<comments>http://www.friendofthepigeon.co.uk/wordpress/?p=39#comments</comments>
		<pubDate>Fri, 29 Sep 2006 12:26:09 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
		
		<category><![CDATA[Art]]></category>

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

		<guid isPermaLink="false">http://www.friendofthepigeon.co.uk/wordpress/?p=39</guid>
		<description><![CDATA[Not so long ago, there was a thread on comp.lang.smalltalk proposing a new logo: [&#124;]. Somebody mentioned Polly Morphic, the parrot mascot of the Smalltalk Chronicles (I think it was). Anyway, I like Polly Morphic much better than the brackets thing, so here&#8217;s my effort (ignore the writing for now):

This is the SVG original: Polly [...]]]></description>
			<content:encoded><![CDATA[<p>Not so long ago, there was a thread on comp.lang.smalltalk proposing a new logo: [|]. Somebody mentioned Polly Morphic, the parrot mascot of the Smalltalk Chronicles (I think it was). Anyway, I like Polly Morphic much better than the brackets thing, so here&#8217;s my effort (ignore the writing for now):</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/PollyMorphic.png' alt='Polly Morphic' title='Polly Morphic'/></p>
<p>This is the SVG original: <a href='http://www.friendofthepigeon.co.uk/wordpress/wp-content/PollyMorphic.svg'>Polly Morphic - SVG</a>.</p>
<p>I&#8217;ve also found that jpeg artifacts can be quite pleasing sometimes:</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/PollyMorphic.jpeg' alt='Polly Morphic - with jpeg artifact feathers' title='Polly Morphic - with jpeg artifact feathers'/></p>
<p>By request, here&#8217;s a cropped version.</p>
<p><img src='http://www.friendofthepigeon.co.uk/wordpress/wp-content/PollyMorphiccropped.png' alt='Polly Morphic - cropped' title='Polly Morphic - cropped'/></p>
<p>I&#8217;m going to try re-drawing her in a horizontal position.</p>
<p>&#8211;</p>
<p>The license for these images is CC attribution / share-alike, but I&#8217;m open to offers/requests.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friendofthepigeon.co.uk/wordpress/?feed=rss2&amp;p=39</wfw:commentRss>
		</item>
	</channel>
</rss>
