<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.0.0 (http://www.squarespace.com/) on Thu, 21 Aug 2008 06:33:32 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Home</title><subtitle>Home</subtitle><id>http://tristram.squarespace.com/home/</id><link rel="alternate" type="application/xhtml+xml" href="http://tristram.squarespace.com/home/"/><link rel="self" type="application/atom+xml" href="http://tristram.squarespace.com/home/atom.xml"/><updated>2008-08-19T18:05:27Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.0.0 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Feeding the Cookie Monster</title><category>Computing</category><category>Programming</category><id>http://tristram.squarespace.com/home/2008/8/19/feeding-the-cookie-monster.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/19/feeding-the-cookie-monster.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-19T17:46:47Z</published><updated>2008-08-19T17:46:47Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<a href="http://www.michaelnygard.com/blog/2002/10/i_think_id_like_to.html">A wistful post from 2002</a> by <a href="http://www.michaelnygard.com/blog/">Michael Nygard</a>::<br><blockquote>I think I'd like to do some Smalltalk (or Squeak) development
sometime.&nbsp; Just for myself.&nbsp; It would be good for me -- like an artist
going to a retreat and setting aside all notions of practicality.&nbsp; I
know I'll never work in Squeak professionally.&nbsp; That's why it would be
like saying to yourself, "In this now, purity of expression is all that
matters.&nbsp; Tomorrow, I will worry about making something I can sell.&nbsp;
Tomorrow I will design so the mediocre masses that follow me cannot
corrupt it.&nbsp; Today, I will work for the joy I find in the work." </blockquote><span><blockquote>The burdens of responsibility leave no room for such indulgence.&nbsp; So I
turn back to Java and C#.&nbsp; I'll write another Address class and deal
with another session manager, and more cookies.&nbsp; Always with the cookies.</blockquote></span>]]></content></entry><entry><title>Smelly Buses</title><id>http://tristram.squarespace.com/home/2008/8/17/smelly-buses.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/17/smelly-buses.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-17T08:55:53Z</published><updated>2008-08-17T08:55:53Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p><span class="full-image-inline"><span><a href="http://en.wikipedia.org/wiki/Image:Reading_Transport_1103.JPG" title="No. 17 bus running on bio-ethanol, photo by Arriva436"><img  src="http://upload.wikimedia.org/wikipedia/commons/1/1c/Reading_Transport_1103.JPG" alt="No. 17 bus running on bio-ethanol, photo by Arriva436" width="410" height="325"></a></span></span></p><p>Earlier this year, Reading Buses <a href="http://www.reading.gov.uk/news/pressreleases/PressArticle.asp?id=SX9452-A7832474">switched over to using bio-ethanol on its No. 17 route</a>, and now, whenever one of these buses passes, you get a distinct whiff of vinegar in the air.&nbsp; Presumably this a result of incomplete combustion of the ethanol to acetic acid.&nbsp; Or maybe the ethanol they use is already partly oxidized by bacterial action?&nbsp; (Photo by <a href="http://commons.wikimedia.org/wiki/User:Arriva436">Arriva436</a>.)<br></p>]]></content></entry><entry><title>Market Place, Reading</title><category>Photos</category><id>http://tristram.squarespace.com/home/2008/8/16/market-place-reading.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/16/market-place-reading.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-16T17:32:03Z</published><updated>2008-08-16T17:32:03Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p><span class="full-image-inline"><span><a href="http://picasaweb.google.com/tristrambrelstaff/Reading/photo#5235169093800469042"><img  src="http://lh5.ggpht.com/tristrambrelstaff/SKcOjb8UojI/AAAAAAAAA44/9_8TXegDnzA/s400/butter-market-reading-20080816.jpg"></a></span></span></p><p>Market Place, Reading, UK.&nbsp; Photo taken this morning (2008-08-16).&nbsp; The dark clouds were threatening rain, but none fell.&nbsp; The building on the right really is that irregular shape.<br></p>]]></content></entry><entry><title>Recursive Equations are the Assembly Language of Functional Programming</title><category>Computing</category><category>Programming</category><id>http://tristram.squarespace.com/home/2008/8/14/recursive-equations-are-the-assembly-language-of-functional.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/14/recursive-equations-are-the-assembly-language-of-functional.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-14T18:00:47Z</published><updated>2008-08-14T18:00:47Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p>From <a href="http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/#origami">Origami Programming</a> by Jeremy Gibbons (in The Fun of Programming, Gibbons and de Moer, eds, 2003): <br></p><blockquote>One style of functional programming is based purely on recursive equations.&nbsp; Such equations are easy to explain, and adequate for any computational purpose, but hard to use well as programs get bigger and more complicated.&nbsp; In a sense, recursive equations are the ‘assembly language’ of functional programming, and direct recursion the goto. As computer scientists discovered in the 1960s with structured programming, it is better to identify common patterns of use of such too-powerful tools, and capture these patterns as new constructions and abstractions.&nbsp; In functional programming, in contrast to imperative programming, we can often express the new constructions as higher-order operations within the language, whereas the move from unstructured to structured programming entailed the development of new languages.</blockquote>]]></content></entry><entry><title>GADT Syntax for Haskell Type Definitions</title><category>Computing</category><category>Programming</category><id>http://tristram.squarespace.com/home/2008/8/13/gadt-syntax-for-haskell-type-definitions.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/13/gadt-syntax-for-haskell-type-definitions.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-13T18:35:16Z</published><updated>2008-08-13T18:35:16Z</updated><content type="html" xml:lang="en-GB"><![CDATA[From an exchange on the Haskell mailing list in October 2006:<br>
<br>Lennart Augustsson:<br>
<blockquote>Well, I think the GADT type definition syntax is the syntax data type definitions should have had from the start. Too bad we didn't realize it 15 years ago.</blockquote>Paul Hudak:<br>
<blockquote>I agree! In my experience teaching Haskell, the current syntax is a bit confusing for newbies, and for years I've been telling students, "It really means this: ..." and then I write out a syntax more like GADT's.</blockquote><span><blockquote>I also think that if we had adopted this syntax from the beginning, GADT's would have been "discovered" far sooner than now.</blockquote></span>]]></content></entry><entry><title>Meteors</title><category>Astronomy</category><category>Family</category><id>http://tristram.squarespace.com/home/2008/8/13/meteors.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/13/meteors.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-13T17:18:02Z</published><updated>2008-08-13T17:18:02Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p>I woke at 4am this morning and looked out of the bedroom window.&nbsp; There were a few whisps of cloud against the clear sky.&nbsp; I recognized Alpha and Beta Arietis high up in the south.&nbsp; A bright meteor (magnitude 1 or 2) streaked vertically down through Pegasus and Aquarius, followed by a fainter one a few seconds later.&nbsp; Then I remembered it was August the 13th: Perseids maximum and my mother's birthday.&nbsp; She would have been 74.<br></p>]]></content></entry><entry><title>North Kensington Misplaced on Google Maps</title><id>http://tristram.squarespace.com/home/2008/8/8/north-kensington-misplaced-on-google-maps.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/8/north-kensington-misplaced-on-google-maps.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-08T21:25:20Z</published><updated>2008-08-08T21:25:20Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p><span class="full-image-inline"><span><a href="http://picasaweb.google.co.uk/tristrambrelstaff/Oddities/photo#5232569587536897794"><img  src="http://lh5.ggpht.com/tristrambrelstaff/SJ3SUQemJwI/AAAAAAAAA4I/WKS7Mw7lObU/s400/north-kensington.jpg"></a></span></span></p><p>I spent today in west London and got a little confused when finding my way around.&nbsp; I have just discovered why:&nbsp; Google Maps, which I used to plan my route beforehand, incorrectly shows North Kensington about 3km southeast from where it should be (in the same place that it --correctly-- shows South Kensington).&nbsp; Fortunately the pocket street map I took with me did not contain this error.<span></span></p>]]></content></entry><entry><title>Concave Translucent Mushrooms</title><category>Photos</category><id>http://tristram.squarespace.com/home/2008/8/7/concave-translucent-mushrooms.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/8/7/concave-translucent-mushrooms.html"/><author><name>Tristram Brelstaff</name></author><published>2008-08-07T19:02:48Z</published><updated>2008-08-07T19:02:48Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<br><p><span class="full-image-inline"><span><a href="http://picasaweb.google.co.uk/tristrambrelstaff/MossesLichensAndFungi/photo#5231852449750558034"><img  src="http://lh4.ggpht.com/tristrambrelstaff/SJtGFWCjpVI/AAAAAAAAA3M/1zcgqH_Ccu0/s400/Coprinus-lagopus-Mushroom-8am.jpg"></a></span></span></p><p>A few days ago I noticed some of these on a pile of wood-chips in the woods between Farnborough North and Frimley stations.&nbsp; I also noticed that they seemed to change form between the mornings and the afternoons.&nbsp; I have tentatively identified them as <em>Coprinus lagopus</em>, a type of ink-cap mushroom.&nbsp; In the mornings their stems are straight (up to 12cm long) and their caps neat little inverted translucent grey umbrellas (up to 5cm across), as shown above.&nbsp; By the late afternoon, the stems have drooped and the caps are ragged, shrivelled and blackened, as shown below.</p><p><span class="full-image-inline"><span><a href="http://picasaweb.google.co.uk/tristrambrelstaff/MossesLichensAndFungi/photo#5231858006982907122"><img  src="http://lh6.ggpht.com/tristrambrelstaff/SJtLI0V_1PI/AAAAAAAAA3k/tZArpvSEtU8/s400/Coprinus-lagopus-Mushroom-4pm-b.jpg"></a></span></span></p><p>However, by the afternoon, the next day's mushrooms are already thrusting their heads up:</p><p><span class="full-image-inline"><span><span><img  src="http://lh3.ggpht.com/tristrambrelstaff/SJtGFsklGrI/AAAAAAAAA3U/yU3F1VrFav8/s400/Coprinus-lagopus-Mushroom-4pm.jpg"></span></span></span></p>]]></content></entry><entry><title>Hoverfly</title><category>Photos</category><category>Insects</category><id>http://tristram.squarespace.com/home/2008/7/29/hoverfly.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/7/29/hoverfly.html"/><author><name>Tristram Brelstaff</name></author><published>2008-07-29T19:10:11Z</published><updated>2008-07-29T19:10:11Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p><span class="full-image-inline"><span><a href="http://picasaweb.google.co.uk/tristrambrelstaff/InsectsEtc/photo#5227272385845460034"><img  src="http://lh4.ggpht.com/tristrambrelstaff/SIsAiiaG_EI/AAAAAAAAAzU/enCDXfAyIRc/s400/Episyrphus-balteatus-Hoverfly-sp.jpg"></a></span></span></p><p>A hoverfly of the species <em>Episyrphus balteatus</em> (A fairly common species characterized by the two narrow black bands on its abdomen).&nbsp; Photo taken in Reading University grounds, Reading, UK, on 2008-07-26.&nbsp; One of the first photos I took with my present camera was of one of these; see <a href="http://tristram.squarespace.com/home/2006/8/1/a-new-camera.html">here</a>.<span></span></p>]]></content></entry><entry><title>Harlequin Ladybirds</title><category>Photos</category><category>Insects</category><id>http://tristram.squarespace.com/home/2008/7/28/harlequin-ladybirds.html</id><link rel="alternate" type="text/html" href="http://tristram.squarespace.com/home/2008/7/28/harlequin-ladybirds.html"/><author><name>Tristram Brelstaff</name></author><published>2008-07-28T17:39:36Z</published><updated>2008-07-28T17:39:36Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p><span class="full-image-inline"><span></span></span><a href="http://picasaweb.google.co.uk/tristrambrelstaff/InsectsEtc/photo#5227272394391470642"><img src="http://lh4.ggpht.com/tristrambrelstaff/SIsAjCPowjI/AAAAAAAAAzc/TEsn9hKzVsc/s400/Harmonia-axyridis-Harlequin-ladybird.jpg" /></a></p><p>Harlequin ladybirds (<em>Harmonia axyridis</em>) vary a lot in appearance from red spot on black forms, through black spot on red, to black spot on yellow.&nbsp; These are all the same species and, as shown here, interbreed quite freely.&nbsp; Photo taken in Reading University grounds, Reading, UK, on 2008-07-26. The ladybirds that I photographed last November <a href="http://tristram.squarespace.com/home/2007/10/13/autumnal-plague.html">here</a> also appear to be harlequins.<br></p>]]></content></entry></feed>