<?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>Graceful Exits &#187; meta</title>
	<atom:link href="http://www.jpstacey.info/blog/category/meta/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jpstacey.info/blog</link>
	<description>Garbage collection, in a very real sense</description>
	<pubDate>Wed, 02 Jul 2008 09:41:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Upgrading this blog to Wordpress 2.5.1</title>
		<link>http://www.jpstacey.info/blog/2008/06/16/upgrading-this-blog-to-wordpress-251/</link>
		<comments>http://www.jpstacey.info/blog/2008/06/16/upgrading-this-blog-to-wordpress-251/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 19:15:19 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[content]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/?p=164</guid>
		<description><![CDATA[Finally. Jeez.... Anything broken?]]></description>
			<content:encoded><![CDATA[<p>After having been stuck on version 2.0.1 for over two years, I&#8217;ve just <a href="http://wordpress.org/download/" >upgraded to the most recent version</a>, 2.5.1. The only hiccup was needing to ask my web provider to give me a new MySQL database: since 2.5, Wordpress has required MySQL 4.0 or newer. </p>
<p>Otherwise, it all seems to be running very smoothly. Do let me know if you see anything crazy. I hope to upgrade more frequently in future, as it was <a href="http://codex.wordpress.org/Upgrading_WordPress" >a far better experience than I&#8217;d expected</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2008/06/16/upgrading-this-blog-to-wordpress-251/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Total Eclipse of my broadband</title>
		<link>http://www.jpstacey.info/blog/2007/12/10/total-eclipse-of-my-broadband/</link>
		<comments>http://www.jpstacey.info/blog/2007/12/10/total-eclipse-of-my-broadband/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 04:13:31 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[culture]]></category>

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/12/10/total-eclipse-of-my-broadband/</guid>
		<description><![CDATA[Incidentally, I currently have very little network at home. Eclipse managed to transfer my broadband fine during the house move, and then cancel both my old and new packages simultaneously at the point the old house&#8217;s contract expired (December 4). Oddly, although pulling the plug took but a second, reconnecting can take five working days. [...]]]></description>
			<content:encoded><![CDATA[<p>Incidentally, I currently have very little network at home. <a href="http://www.eclipse.net.uk/">Eclipse</a> managed to transfer my broadband fine during the house move, and then cancel both my old and new packages simultaneously at the point the old house&#8217;s contract expired (December 4). Oddly, although pulling the plug took but a second, reconnecting can take five working days. I&#8217;d love to know what they&#8217;re currently up to.</p>
<p>In the mean time, when necessary, I&#8217;m connecting to an alt-Fon network called something like Liberty Europe. I think they might be communists.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/12/10/total-eclipse-of-my-broadband/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Home is where the heart-shaped souvenir is</title>
		<link>http://www.jpstacey.info/blog/2007/06/17/home-is-where-the-heart-shaped-souvenir-is/</link>
		<comments>http://www.jpstacey.info/blog/2007/06/17/home-is-where-the-heart-shaped-souvenir-is/#comments</comments>
		<pubDate>Sun, 17 Jun 2007 20:07:37 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[meta]]></category>

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/06/17/home-is-where-the-heart-shaped-souvenir-is/</guid>
		<description><![CDATA[Remember in the days before blogs, when we used to have homepages? Well, technically I suppose I still have one, separate from my blog. How retro is that, eh? My online presence is so fragmented (arguably because my offline presence is that of a genre-flitting dilettante who can&#8217;t just sit still for five minutes) that [...]]]></description>
			<content:encoded><![CDATA[<p>Remember in the days before blogs, when we used to have <em>homepages</em>? Well, technically I suppose I still have one, separate from my blog. How retro is that, eh? My online presence is so fragmented (arguably because my offline presence is that of a genre-flitting dilettante who can&#8217;t just sit still for five minutes) that the index of <a href="http://www.jpstacey.info/">www.jpstacey.info</a> is still not my actual blog, even in 2007.</p>
<p>Instead, it&#8217;s always been a portal through to existing content&#8212;blog, yes, but also <a href="http://quietlittlelies.com/">short stories</a>, <a href="http://www.jpstacey.info/spineless/">book reviews</a>, the <a href="http://www.oxfringe.com">Oxfringe</a> lit-fest and <a href="http://www.jpstacey.info/cgi-bin/collected.cgi">other nonsense</a>&#8212;and as such tended to gather dust. Worse than that, I&#8217;ve always wanted to put so much of the stuff from my halcyon studenthood there, and have therefore typically run aground creatively after writing two or three pages of copy on the bands I&#8217;ve been in and that time nearly eight damn years ago when we did a revue at the Edinburgh Fringe.</p>
<p>Now, though, I&#8217;ve redesigned it with a bit more scalability, and minimalism. The <a href="/">index</a> is just a set of slightly Web-2.0ish buttons, all of which lead through to existing sites (although I do need to actually tidy up the navigation on &#8220;Other&#8221; at some point). That way I&#8217;m not condemning myself to writing up my entire past life to this point, of no interest to anyone other than me, my adoring public and the eventual hordes of biographers that will snap and grab in my vast intellectual wake. Or rather: I&#8217;m not condemning myself to months of <em>avoiding</em> the very task I mention above.</p>
<p>The tendency when building one&#8217;s own website&#8212;which a blog neatly avoids, for better or worse, and a CV would never even conscience&#8212;is to plan to put one&#8217;s whole trophy cabinet online, every bauble and curio. You leave spaces on the shelves for monuments to all the things you&#8217;ve done before registering a domain name, but then never remember to unpack them from the boxes in your mental attic. Well, no more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/06/17/home-is-where-the-heart-shaped-souvenir-is/feed/</wfw:commentRss>
		</item>
		<item>
		<title>All roads lead to home</title>
		<link>http://www.jpstacey.info/blog/2007/03/08/all-roads-lead-to-home/</link>
		<comments>http://www.jpstacey.info/blog/2007/03/08/all-roads-lead-to-home/#comments</comments>
		<pubDate>Thu, 08 Mar 2007 10:47:58 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[information]]></category>

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2007/03/08/all-roads-lead-to-home/</guid>
		<description><![CDATA[This morning a colleague had hardware problems, and duly googled for &#8216;g200 ubuntu dual head&#8216;. Shortly afterwards I did the same, for &#8216;coldfusion introspection &#8220;line number&#8221;&#8216;. We may be on track to produce a zettabyte of data by 2010, but from the looks of it some people are keeping most of it to themselves.
]]></description>
			<content:encoded><![CDATA[<p>This morning a colleague had hardware problems, and duly googled for &#8216;<a href="http://www.google.co.uk/search?q=g200+ubuntu+dual+head" >g200 ubuntu dual head</a>&#8216;. Shortly afterwards I did the same, for &#8216;<a href="http://www.google.co.uk/search?q=coldfusion+introspection+%22line+number%22" >coldfusion introspection &#8220;line number&#8221;</a>&#8216;. We may be on track to produce <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&#038;articleId=9012364&#038;intsrc=hm_list" >a zettabyte of data by 2010</a>, but from the looks of it some people are keeping most of it to themselves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2007/03/08/all-roads-lead-to-home/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Short story collection: A Pocketful of Lies, December 2006</title>
		<link>http://www.jpstacey.info/blog/2006/11/28/short-story-collection-a-pocketful-of-lies-december-2006/</link>
		<comments>http://www.jpstacey.info/blog/2006/11/28/short-story-collection-a-pocketful-of-lies-december-2006/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 19:55:53 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[meta]]></category>

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/11/28/short-story-collection-a-pocketful-of-lies-december-2006/</guid>
		<description><![CDATA[As a prelude to the relaunch of short-story website Quiet little Lies (a relaunch which is long overdue), I&#8217;m distributing in print a seasonal special for 2006 called:


An ideal Christmas gift, this handcrafted pamphlet has been      lovingly assembled from a dozen complex, thoughtful tales that      [...]]]></description>
			<content:encoded><![CDATA[<p>As a prelude to the relaunch of short-story website Quiet little Lies (a relaunch which is long overdue), I&#8217;m distributing in print a seasonal special for 2006 called:</p>
<p style="text-align: center"><a href="http://www.quietlittlelies.com/" ><img width="420" height="65" style="border: 2px solid black; padding: 0pt 3px; background-color: #ffffce" alt="A Pocketful of Lies" src="http://www.quietlittlelies.com/imgall/a_pocketful_of_lies.gif" /></a></p>
<blockquote>
<p>An ideal Christmas gift, this handcrafted pamphlet has been      lovingly assembled from a dozen complex, thoughtful tales that        will vex and puzzle relatives or friends of any stripe! Following        your Christmas meal, contemplate what lies beneath the surface of        each sinister, questioning story, and thank the stars that your        family is indeed relatively well-adjusted after all.</p>
<p><a href="http://www.quietlittlelies.com/" title="Quiet little Lies" >http://www.quietlittlelies.com/</a></p>
</blockquote>
<p>It&#8217;s free. Just give me your postal address, either via email or via the website (website preferred). I&#8217;ll try to get it to you before Christmas, but it&#8217;s not even all assembled yet.</p>
<p>Feel free to pass this on to anyone who you think might be interested. I&#8217;d love to get some word-of-mouth interest, although whether I&#8217;ll keep up with the demands of the photocopier or not is another matter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/11/28/short-story-collection-a-pocketful-of-lies-december-2006/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blogthis!</title>
		<link>http://www.jpstacey.info/blog/2006/10/08/blogthis/</link>
		<comments>http://www.jpstacey.info/blog/2006/10/08/blogthis/#comments</comments>
		<pubDate>Sun, 08 Oct 2006 21:39:13 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[hacking]]></category>

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

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/10/08/blogthis/</guid>
		<description><![CDATA[You might notice the little &#8220;blog this&#8221; link to the right there. That&#8217;s my first Wordpress plugin.
The code is at http://www.jpstacey.info/blog/files/code/blogthis.zip. This contains the blogthis PHP code and a directory of images. To try it out (for the moment: I&#8217;ll sort this all later into a proper installable plugin) do as follows:
Edit: full documentation now [...]]]></description>
			<content:encoded><![CDATA[<p>You might notice the little &#8220;blog this&#8221; link to the right there. That&#8217;s my first Wordpress plugin.</p>
<p>The code is at <a title="Blogthis plugin for Wordpress" href="/blog/files/code/blogthis.zip">http://www.jpstacey.info/blog/files/code/blogthis.zip</a>. This contains the blogthis PHP code and a directory of images. To try it out (for the moment: I&#8217;ll sort this all later into a proper installable plugin) do as follows:</p>
<blockquote class="edit"><p><b>Edit:</b> full documentation now available at <a href="/blog/files/code/blogthis_doc.html">http://www.jpstacey.info/blog/files/code/blogthis_doc.html</a>.<br />
<b>Edit:</b> made plugin extensible, with admin page and configurability of blog list, images location etc.</p>
</blockquote>
<ul>
<li>Unpack the zipfile to a safe location - it should create a &#8220;blogthis&#8221; directory.</li>
<li>Move the &#8220;blogthis&#8221; directory to your blog&#8217;s plugin directory, typically at <code>wp-content/plugins/</code>.</li>
<li>Enable the plugin in Wordpress: once you&#8217;ve done that you should see a &#8220;Blogthis!&#8221; link appear in the plugins sub-menu which links to its admin page</li>
<li>In your theme&#8217;s templates, add the following bit of PHP where you want it to appear in the index template (within the blog entry chunk):</li>
</ul>
<blockquote class="code"><p>&lt;?php if (function_exists(&#8217;wp_blogthis&#8217;)) wp_blogthis(); ?&gt;</p>
</blockquote>
<p>By default, the following XHTML fragment should be created:</p>
<blockquote class="code"><p>
&lt;div class=&#8221;blog-this&#8221;&gt;Blog this:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul class=&#8221;blog-this-links&#8221; &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=&#8221;. . .&#8221;&gt;&lt;img&gt; Link text&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;. . .<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
&lt;/div&gt;
</p>
</blockquote>
<p>The containers can all be edited in the code: if you change the list tags to HTML div tags then it should still understand what&#8217;s going on, even if you add classes. I recommend making the following styling and HTML decisions (although of course it&#8217;s all up to you!)</p>
<ul>
<li>Putting the links in a list (and then turning that list into a div-like structure using <code>display:block</code> in the CSS) is the most accessible way to present the content. People using screen-reader technology will see the title, and can then decide to ignore the list. <em>Almost all common screen-readers ignore HTML div structure completely.</em></li>
<li>You can set the styling of the li elements to be <code>display:inline</code> to make the list appear in a line.</li>
<li>Alternatively, as I&#8217;ve done, set the links container&#8217;s styling to be <code>display: none</code> by default. You can then set the <code>div:hover</code> styles for both hovering over the blogthis container and the links container. That means as you hover over the outermost container, the links appear; when you move into the links container, it doesn&#8217;t disappear!</li>
<li>To get hovers to work in IE6, use the <code>behavior: url(csshover.htc)</code> trick <a title="hover - getting hovers to work in IE" href="http://www.xs4all.nl/~peterned/csshover.html">described on Peter Nederlof&#8217;s blog</a>.</li>
<li>CSS gurus: my current theme&#8217;s CSS is at <a title="Hacked version of Borja Fernandez' Pool 1.0.7 CSS" href="http://www.jpstacey.info/blog/wp-content/themes/pool/style.css">http://www.jpstacey.info/blog/wp-content/themes/pool/style.css</a>, a hacked version of <a title="Borja Fernandez" href="http://www.lamateporunyogur.net/">Borja Fernandez&#8217;s</a> Pool.</li>
</ul>
<p>From what I can gather since, I&#8217;ve partly reinvented the wheel of Cal Evans&#8217; <a href="http://wp-plugins.net/plugin/wp-notable/#plugin_900" title="wp-notable on the Wordpress Plugin database">wp-notable plugin</a>. I think my system is more configurable, though, as you can add and remove blogs you want to submit to. I&#8217;m hoping to continue to develop it to be too, so watch this space. Certainly I&#8217;d like to bring in more up-to-date considerations like accessibility and XHTML as and when I can. Please <b>give me feedback</b>: I&#8217;d love to hear of any suggestions or successes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/10/08/blogthis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rolling feed on jpstacey.info</title>
		<link>http://www.jpstacey.info/blog/2006/10/01/rolling-feed-on-jpstaceyinfo/</link>
		<comments>http://www.jpstacey.info/blog/2006/10/01/rolling-feed-on-jpstaceyinfo/#comments</comments>
		<pubDate>Sun, 01 Oct 2006 15:48:44 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[hacking]]></category>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/10/01/rolling-feed-on-jpstaceyinfo/</guid>
		<description><![CDATA[Following my recent success with putting a Flickr feed on my website&#8217;s front page is the conversion of this to an all-purpose feed reporter, where RSS/Atom flavour and feed specifics are dealt with by Javascript associative arrays of functions, keyed on both variables respectively.
If you&#8217;re lucky then the feed should wait a bit while it [...]]]></description>
			<content:encoded><![CDATA[<p>Following my recent success with putting <a href="/blog/2006/09/06/flickr-images-without-the-api/" title="Flickr images without the API">a Flickr feed</a> on my website&#8217;s <a href="/" title="J-P Stacey's website">front page</a> is the conversion of this to an all-purpose feed reporter, where RSS/Atom flavour and feed specifics are dealt with by Javascript associative arrays of functions, keyed on both variables respectively.</p>
<p>If you&#8217;re lucky then the feed should wait a bit while it loads the XML via Javscript&#8217;s <code>XMLHTTPResponse()</code> code (querying proxies all on my website for foreign feeds like <a href="http://del.icio.us/jp.stacey" title="my del.icio.us bookmarks/favourites">del.icio.us</a>). Then it will report the first feed it finds, while still loading other feeds in the background. Every 15s or so it swaps to a new feed.</p>
<p>After writing it easily in Firefox, I found that a number of drastic changes were required for IE, as follows:</p>
<ol>
<li>IE doesn&#8217;t seem to have great support for the IMG element&#8217;s width or height properties, at least before the image is rendered on the page. For the Flickr feed, if <code>imgElem.width == 0</code>, I&#8217;ve had to employ some horrible regular expressions on imgElem.outerHTML (which isn&#8217;t supported by non-IE browsers, so it&#8217;s all a bit of a hack).</li>
<li>IE doesn&#8217;t support assigning arbitrary properties to elements. I was using these to smuggle a collection of titles and descriptions (keyed by date) into a function and that of course failed. You can use <code>setAttribute()</code> for string-like properties, but not objects, which I&#8217;ve had to pass as parameters or in some reserved scopes.</li>
<li>IE is very unforgiving about character encodings, behaviour which I haven&#8217;t been able to work around yet. Some of the programs that create my feeds (specifically Blosxom) aren&#8217;t very Unicode-wise and hence will happily produce invalid content. Firefox is very forgiving of this (which may or may not be the right XML way to do it, but is certainly a very patient way of dealing with web content generally). I&#8217;m currently working on my proxies to sort this out somehow, even if I have to filter everything down to the ASCII character set.</li>
</ol>
<p>The Javascript is a single, monolithic file which relies on <a href="http://www.mochikit.com/" title="Mochikit makes Javascript suck less">a beta-release version of Mochikit</a>, and is available at <a href="http://www.jpstacey.info/index/javascript/index.js" title="Javascript source for rolling feed, undocumented">http://www.jpstacey.info/index/javascript/index.js</a>. Feel free to scrape it and re-use anything you find interesting there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/10/01/rolling-feed-on-jpstaceyinfo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flickr images without the API</title>
		<link>http://www.jpstacey.info/blog/2006/09/06/flickr-images-without-the-api/</link>
		<comments>http://www.jpstacey.info/blog/2006/09/06/flickr-images-without-the-api/#comments</comments>
		<pubDate>Wed, 06 Sep 2006 13:25:29 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[hacking]]></category>

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

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

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

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/09/06/flickr-images-without-the-api/</guid>
		<description><![CDATA[A number of posts are currently in stasis waiting for me to actually finish them, but I thought it was worth mentioning the selection of my most recent Flickr photos that now graces my homepage. While the rest of that page awaits serious styling and content work, I&#8217;ve dilly-dallied by creating this bit of eye-candy.
The [...]]]></description>
			<content:encoded><![CDATA[<p>A number of posts are currently in stasis waiting for me to actually finish them, but I thought it was worth mentioning the selection of <a href="http://www.flickr.com/photos/eustatius/">my most recent Flickr photos</a> that now graces <a href="http://www.jpstacey.info/">my homepage</a>. While the rest of that page awaits serious styling and content work, I&#8217;ve dilly-dallied by creating this bit of eye-candy.</p>
<p>The loveliness of this slightly hackish system is that it uses AJAX (with help from <a href="http://www.mochikit.com/">MochiKit</a>) to fetch <a href="http://api.flickr.com/services/feeds/photos_public.gne?id=77588432@N00&#38;format=rss_200">an RSS 2.0 feed</a>, so it doesn&#8217;t require an understanding of <a href="http://www.flickr.com/services/api/request.rest.html">Flickr&#8217;s huge quasi-REST API</a>. Also, because one can guarantee the RSS feed is good XML, the responseXML property of the <a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XMLHTTPRequest</a> object can be trusted. This means you don&#8217;t need to do any string-based munging of the returned data to transform it into the HTML seen on the page: there&#8217;s an XML DOM already set up for you. It also means that the method could be adapted to other RSS feeds, in principle.</p>
<p>The major difficulty was getting the Javascript to request a URL from a different server from the one that the current page was on (quick summary: you can&#8217;t, because of Javascript&#8217;s security rules). But it took two minutes, one and a half of which were googling, to set up a proxy of this feed in Perl using <a href="http://search.cpan.org/~gaas/libwww-perl-5.803/lib/LWP/UserAgent.pm">LWP::Agent</a>. </p>
<p>There&#8217;s other minor problems to be overcome&#x2014;the first paragraph of the RSS description feed is a rather trite &#8220;username posted a photo:&#8221; so naturally I got rid of that, and the images are actually shown half-size because it&#8217;s easier to change the &lt;img /&gt; tag&#8217;s width and height than it is to try and work out the dimensions and locations of the real thumbnails&#x2014;but it works. And all in under an hour&#8217;s programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/09/06/flickr-images-without-the-api/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wedding break</title>
		<link>http://www.jpstacey.info/blog/2006/07/11/wedding-break/</link>
		<comments>http://www.jpstacey.info/blog/2006/07/11/wedding-break/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 09:52:13 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/2006/07/11/wedding-break/</guid>
		<description><![CDATA[Apologies for the prolonged silence, so soon after starting this blog, but I&#8217;ve spent much of April and May planning a wedding, and slices of June on honeymoon. Traditional grooms get all the luck: gay-ass equal-opportunity feminist grooms have to help out with seating plans, favours, and invitations.
]]></description>
			<content:encoded><![CDATA[<p>Apologies for the prolonged silence, so soon after starting this blog, but I&#8217;ve spent much of April and May planning a wedding, and slices of June on honeymoon. Traditional grooms get all the luck: gay-ass equal-opportunity feminist grooms have to help out with seating plans, favours, and invitations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/07/11/wedding-break/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First past the blog post</title>
		<link>http://www.jpstacey.info/blog/2006/03/01/first-past-the-blog-post/</link>
		<comments>http://www.jpstacey.info/blog/2006/03/01/first-past-the-blog-post/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 15:43:44 +0000</pubDate>
		<dc:creator>jps</dc:creator>
		
		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://www.jpstacey.info/blog/wordpress/?p=3</guid>
		<description><![CDATA[This is my first blog posting using WordPress.
]]></description>
			<content:encoded><![CDATA[<p>This is my first blog posting using WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jpstacey.info/blog/2006/03/01/first-past-the-blog-post/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
