<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Just a Coder</title>
	<atom:link href="http://www.nickfitz.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nickfitz.co.uk</link>
	<description>The occasional online observations of Nick Fitzsimons</description>
	<lastBuildDate>Tue, 31 Aug 2010 07:02:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Twitter 1 Daily Mail 0</title>
		<link>http://www.nickfitz.co.uk/2010/08/22/twitter-1-daily-mail-0/</link>
		<comments>http://www.nickfitz.co.uk/2010/08/22/twitter-1-daily-mail-0/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 22:24:55 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/?p=95</guid>
		<description><![CDATA[The Daily Mail really should have checked the dateline before rewriting a story from BBC News and publishing it under the byline "Daily Mail Reporter." Twitter to the rescue!]]></description>
			<content:encoded><![CDATA[<p>Journalists copy stories from other sources all the time. In theory, they should provide attribution, but this doesn&#8217;t always happen. When they copy a story from elsewhere without checking the date of publication, this can end up making them look pretty dumb.</p>
<p>On BBC News&#8217;s &#8220;Most Popular&#8221; feature, it&#8217;s not uncommon for older stories to pop up from time to time. This evening, the number two spot is occupied by the &#8220;<a href="http://news.bbc.co.uk/1/hi/uk/8061979.stm">Pornographic videos flood YouTube</a>&#8221; story from May 2009. It seems that somebody in the Daily Mail newsroom, being unable to go out and dig up some news for themselves, decided that a quick harvesting of BBC News would help while away the afternoon, for at around 16:00 BST the same story, rewritten to fit in with the Mail&#8217;s house style, appeared on their web site.</p>
<p>BBC web developer Jake Archibald, aka <a href="http://twitter.com/jaffathecake">@jaffathecake</a>, noticed this and <a href="http://twitter.com/jaffathecake/status/21857322973">tweeted about it</a>. Co-incidentally, I had just seen the BBC story linked to by a user on a forum I frequent who had also failed to notice the dateline, so I immediately realised what had happened.</p>
<p>Being a helpful sort of chap, I went to the trouble of registering with the Daily Mail&#8217;s site and posted the comment &#8220;You do realise that the BBC News story you copied comes from May 2009?&#8221; My comment was held in a moderation queue, so I left the story open in a tab while I wasted time elsewhere.</p>
<p>Returning about fifteen minutes later I reloaded the tab to see if my comment had made it through moderation, only to be greeted by the message: &#8220;<a href="http://www.dailymail.co.uk/news/article-1305218/YouTube-deletes-hundreds-pornographic-clips-disguised-Hannah-Montana-Jonas-Brothers-videos.html">Sorry&#8230; The page you have requested does not exist or is no longer available.</a>&#8221; <img src='http://www.nickfitz.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>It&#8217;s nice to see that the Mail&#8217;s newsroom staff are sufficiently on the ball to remove the story so rapidly late on a Sunday evening. Without wishing to nitpick in the face of such efficiency, wouldn&#8217;t it be even better if they learned to check the dates on other people&#8217;s stories <em>before</em> re-writing them and publishing them under the byline &#8220;Daily Mail Reporter.&#8221; They could save themselves a lot of wasted effort.</p>
<p class="update">UPDATE: After posting this, I had a conversation with a journalist friend who pointed out that, on a Sunday afternoon, the newsroom of a national paper is probably staffed by young people seeking a break into journalism and working for a trivial wage, as newsrooms were some years ago, when he himself was such a person. (I strongly suspect that nowadays the newsroom is staffed on a weekend by young people working as unpaid interns in the hope of getting such a break, though I may be wrong.) If such a person was responsible for this #mailfail then I hope that they will not be punished but rather be given guidance on how to avoid such errors in future; for the person <em>truly</em> responsible was not them, but the editor who approved its online publication without further checks.
</p>
<p class="update">Further update: <a href="http://www.mjrobbins.net/?p=28178">via Martin Robbins</a>, here&#8217;s <a href="http://layscience.net/files/DailyMail.html">a mirror of the Daily Mail article</a>.
</p>
<p>P.S. Mail developers: you should really be returning <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2">301 Moved Permanently</a> rather than <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3">302 Found</a> to redirect to your 404 error page. Even better, <a href="http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/">don&#8217;t</a> use a <a href="http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/">client-side redirect</a> for<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5"> 404 Not Found</a> at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2010/08/22/twitter-1-daily-mail-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Antisocial Networking</title>
		<link>http://www.nickfitz.co.uk/2010/07/24/more-antisocial-networking/</link>
		<comments>http://www.nickfitz.co.uk/2010/07/24/more-antisocial-networking/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 20:17:09 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[Common sense]]></category>
		<category><![CDATA[Elsewhere...]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/?p=81</guid>
		<description><![CDATA[Yet more shenanigans resulting from people failing to "get" Twitter.]]></description>
			<content:encoded><![CDATA[<p>Following on from the <a href="http://www.nickfitz.co.uk/2010/07/14/antisocial-networking/">recent brouhaha surrounding Gillian McKeith and Twitter</a>, this weekend brings another example of how not to respond to Twitter comments in the shape of a threat of legal action against blogger Luke Bozier.</p>
<p>Luke tweeted <a href="http://twitter.com/LukeBozier/status/19418319246">his unflattering opinion of ex-Prime Minister Gordon Brown&#8217;s new web site</a>, and also posted <a href="http://lukebozier.co.uk/2010/07/tangent-is-taking-the-labour-community-for-a-ride/">more detailed criticism</a> of <a href="http://www.tangentone.com/">Tangent One</a>, who are apparently responsible for the site, on his blog.</p>
<p>Shortly afterwards, he received the following message from somebody describing themselves as executive director of <a href="http://www.tangentplc.com/">Tangent Communications plc</a>, parent company of Tangent One:</p>
<blockquote><p>I respectfully suggest you delete that tweet, issue no more similar ones and generally try to sell your products in a more professional way. I really don’t like the prospect of either a public slanting match or legal action, but if I need to protect my company’s business and reputation, I will.</p>
</blockquote>
<p>This has resulted in <a href="http://twitter.com/jackofkent">Jack of Kent</a> (aka legal eagle David Allen Green) repeatedly re-tweeting the original tweet and promoting the hashtag <a href="http://twitter.com/search?q=%23OffTangent">#OffTangent</a>, which is now trending nicely in the UK.</p>
<p>Assuming the threat received by Luke Bozier is real, one has to wonder at a digital agency whose response to online criticism is to immediately reach for the threat of legal action.</p>
<p>If they had chosen to ignore Luke&#8217;s tweet, it would have been seen by those of his 1,000-plus followers who regularly check Twitter, and perhaps passed along by some of them. The overall effect would almost certainly have been negligible.</p>
<p>Instead they came out blustering and, just as happened with the @gillianmckeith account the other week,  have whipped up a storm of virtual criticism.</p>
<p>I&#8217;m not sure these people really get how this &#8220;social web&#8221; thing works <img src='http://www.nickfitz.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2010/07/24/more-antisocial-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antisocial Networking</title>
		<link>http://www.nickfitz.co.uk/2010/07/14/antisocial-networking/</link>
		<comments>http://www.nickfitz.co.uk/2010/07/14/antisocial-networking/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 19:26:17 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[Bad Science]]></category>
		<category><![CDATA[Ben Goldacre]]></category>
		<category><![CDATA[Common sense]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Gillian McKeith]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/?p=55</guid>
		<description><![CDATA[When running away from a social networking fiasco, HTML comments won't help you.]]></description>
			<content:encoded><![CDATA[<p class="update">For some background to the Twitter-related brouhaha that led to this post, read Jack of Kent&#8217;s <em><a href="http://jackofkent.blogspot.com/2010/07/integrity-and-honesty-of-gillianmckeith.html">The Integrity and Honesty of @gillianmckeith</a></em>.</p>
<p>So, <a href="http://twitter.com/gillianmckeith">@gillianmckeith</a> tweets that <a href="http://twitter.com/bengoldacre">@bengoldacre</a>&#8216;s <a href="http://www.amazon.co.uk/gp/product/000728487X?ie=UTF8&amp;tag=jusacod-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=000728487X">Bad Science</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=jusacod-21&amp;l=as2&amp;o=2&amp;a=000728487X" border="0" alt="" width="1" height="1" /> contains lies, and Mr Goldacre promptly calls her (if it was her&#8230;) on it. @gillianmckeith then appears to remove the offending tweets and tries to <a href="http://twitter.com/gillianmckeith/status/18517237896">suggest that that account isn&#8217;t necessarily <em>the</em> Gillian McKeith&#8217;s account</a>; but unfortunately it&#8217;s linked to from her own site (to which I am not granting any google linkjuice, by the way).</p>
<p>When this is pointed out, the link is removed from her site by somebody. Unfortunately, it&#8217;s only removed in the sense of being commented out, and is still clearly visible in the source. Also, as David Naylor points out, <a href="http://www.davidnaylor.co.uk/gillian-mckeith-vs-ben-goldacre.html">it&#8217;s still present on places like her YouTube channel</a>, which is linked to from the same &#8220;social networking&#8221; section of her site.</p>
<p>Time to bring out the big guns: now, the entire &#8220;social networking&#8221; section is removed.</p>
<p>You guessed it:</p>
<div class="long_lines">
<pre><code>
&lt;!--
&lt;div id="gillianssocialnetwork"&gt;
 &lt;a href="http://twitter.com/gillianmckeith" target="_blank" title="Follow Gillian on Twitter"&gt;
  &lt;img src="i/twitter.jpg" alt="Twitter" width="39" height="44" border="0" class="networkicon" /&gt;
 &lt;/a&gt;
 &lt;a href="http://www.facebook.com/GillianMcKeithOFFICIAL" target="_blank" title="Gillian's facebook Page"&gt;
  &lt;img src="i/facebook.jpg" alt="Facebook" width="39" height="44" border="0" class="networkicon" /&gt;
 &lt;/a&gt;
 &lt;a href="http://www.youtube.com/user/gillianmckeithTV" target="_blank" title="Gillian's YouTube Channel"&gt;
  &lt;img src="i/youtube.jpg" alt="Gillian's YouTube Channel" width="39" height="44" border="0" class="networkicon" /&gt;
 &lt;/a&gt;
 &lt;a href="http://uk.linkedin.com/in/gillianmckeith" target="_blank" title="Gillian on LinkdIn"&gt;
  &lt;img src="i/linkdin.jpg" alt="Gillian on LinkdIn" width="39" height="44" border="0" class="networkicon" /&gt;
 &lt;/a&gt;
&lt;/div&gt;
&lt;div class="rightcolitems"&gt;
 Do you social network? So does Gillian! Follow her on the links above
&lt;/div&gt;&lt;br /&gt;
--&gt;
</code></pre>
</div>
<p>All I can really say is: <code><a href="http://twitter.com/#search?q=%23viewsourceftw">#viewsourceftw</a></code>.</p>
<p>UPDATE, 2010-07-15T01:00: Actually, that isn&#8217;t the only Twitter-related content that has been commented out on that page. It also has the following:</p>
<div class="long_lines">
<code>
<pre>
&lt;!--    &lt;div id="twitterboxheader">&lt;a href="http://twitter.com/gillianmckeith" target="_blank">&lt;img src="i/gillianmckeith_on_twitter.jpg" alt="Follow Gillian on Twitter" border="0" title="Follow Gillian on Twitter"/>&lt;/a>
    &lt;/div>
&lt;div id="twitterboxmain">
&lt;div id="twitter_div">
&lt;ul id="twitter_update_list">&lt;/ul>
&lt;br />&lt;br />

&lt;/div>
&lt;a href="http://twitter.com/gillianmckeith" id="twitter-link" style="display:block;text-align:right; font-size:1.2em;" target="_blank">follow me on Twitter*lt;/a>
&lt;/div>
&lt;div id="twitterboxend">&lt;img src="i/twitterboxbase.jpg" />&lt;/div>&lt;br />&lt;br />-->
</code></pre>
</div>
<p>which is code to display the latest tweet from @gillianmckeith, and towards the end of the source code is some HTML loading some JavaScript:</p>
<div class="long_lines">
<code>
<pre>
&lt;script type="text/javascript" src="http://twitter.com/javascripts/blogger.js">&lt;/script>
&lt;script type="text/javascript" src="http://twitter.com/statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&amp;count=1">&lt;/script>
</code></pre>
</div>
<p>which actually updates that box with the most recent tweet.</p>
<p>You will notice that the JavaScript section hasn't been commented out. This would suggest that the data is still being loaded from that Twitter account by that page, whenever it is viewed. And indeed, a check with the wonderful <a href="http://www.charlesproxy.com/">Charles HTTP debugging proxy</a>, a tool which allows one to examine the low-level nuts and bolts of one's computer's communications with the web, shows that this is the case. When I load the page at gillianmckeith.info into my browser, the second script shown above sends the following additional HTTP request to Twitter from my browser:</p>
<div class="long_lines">
<code>
<pre>
GET /statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&amp;count=1 HTTP/1.1
Host: twitter.com
Pragma: no-cache
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
Accept: */*
Referer: http://www.gillianmckeith.info/
Cache-Control: no-cache
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Cookie: &lt;removed for security reasons>
Connection: keep-alive

</code></pre>
</div>
<p>which sends the response (formatted for clarity):</p>
<div class="long_lines">
<code>
<pre>
HTTP/1.1 200 OK
Date: Wed, 14 Jul 2010 23:38:55 GMT
Server: hi
Status: 200 OK
X-Transaction: 1279150735-24110-17319
X-RateLimit-Limit: 150
ETag: "fcf22c639f08a8ca540302c7c569266e"-gzip
Last-Modified: Wed, 14 Jul 2010 23:38:55 GMT
X-RateLimit-Remaining: 143
X-Runtime: 0.00977
Content-Type: application/json; charset=utf-8
Pragma: no-cache
X-RateLimit-Class: api
X-Revision: DEV
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
X-RateLimit-Reset: 1279153007
Set-Cookie: lang=en; path=/
Set-Cookie: &lt;removed for security reasons>
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 630
Connection: close

twitterCallback2(
[
    {
        "contributors":null,
        "source":"web",
        "created_at":"Wed Jul 14 13:06:40 +0000 2010",
        "coordinates":null,
        "truncated":false,
        "in_reply_to_status_id":null,
        "user": {
            "profile_link_color":"ff0073",
            "description":".",
            "location":"Earth",
            "profile_background_image_url":
            "http://a3.twimg.com/profile_background_images/111501429/Picture_145.png",
            "profile_image_url":
            "http://a0.twimg.com/profile_images/813972928/gillian1_normal.jpg",
            "profile_sidebar_fill_color":"e07ecc",
            "profile_background_tile":false,
            "screen_name":"gillianmckeith",
            "lang":"en",
            "statuses_count":1344,
            "created_at":"Tue Jul 08 15:26:42 +0000 2008",
            "profile_sidebar_border_color":"000000",
            "profile_use_background_image":true,
            "followers_count":2570,
            "contributors_enabled":false,
            "friends_count":16,
            "following":false,
            "geo_enabled":false,
            "profile_background_color":"ffffff",
            "protected":false,
            "favourites_count":1,
            "name":"Gillian McKeith",
            "verified":false,
            "profile_text_color":"000000",
            "url":"http://www.gillianmckeith.com",
            "id":15354299,
            "follow_request_sent":false,
            "notifications":false,
            "time_zone":"London",
            "utc_offset":0
        },
        "place":null,
        "geo":null,
        "in_reply_to_screen_name":null,
        "favorited":false,
        "id":18517738649,
        "in_reply_to_user_id":null,
        "text":"The moral of the story:  Love your neighbour and your enemies too."
    }
]);
</code></pre>
</div>
<p>That is data from the <a href="http://apiwiki.twitter.com/">Twitter API</a>, containing the public information about the @gillianmckeith account together with the most recent tweet from that account, in a standard data format called JSON. <a href="http://twitter.com/statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&#038;count=1">You can get the same info from this link</a>, just to show that there's nothing special going on here. In fact, here's <a href="http://twitter.com/statuses/user_timeline/nickfitz.json?callback=twitterCallback2&#038;count=1">the same info but for my Twitter account</a>.</p>
<p>So, whatever the reason might be that some person has removed the visible evidence of that Twitter account being related to Ms McKeith, the fact is that, at the time of writing, her web site is causing data from that Twitter account to be loaded into every JavaScript-enabled web browser that visits her home page; it just doesn't cause them to display the information once they've received it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2010/07/14/antisocial-networking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BBC News Redesign: Sneak Preview</title>
		<link>http://www.nickfitz.co.uk/2010/06/19/bbc-news-redesign-sneak-preview/</link>
		<comments>http://www.nickfitz.co.uk/2010/06/19/bbc-news-redesign-sneak-preview/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 21:40:55 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[BBC News]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/?p=44</guid>
		<description><![CDATA[BBC News is working on a redesign of their website, and I got an early look by taking part in a survey. Here are a couple of screenshots and some general thoughts about the new design.]]></description>
			<content:encoded><![CDATA[<p>Earlier on I received an email inviting me to take part in a survey on the forthcoming redesign of the <a href="http://news.bbc.co.uk/">BBC News</a> web site. This allowed me to see a number of pages from the live site presented in the new layout, so naturally I made some screenshots &#8211; links on the thumbnails:</p>
<ul>
<li>
<p><div class="wp-caption alignnone" style="width: 138px"><a href="/images/bbc_news/2010-redesign-fp.png"><img title="BBC News front page" src="/images/bbc_news/2010-redesign-fp-thumb.png" alt="BBC News: redesigned front page" width="128" height="319" /></a><p class="wp-caption-text">Front Page</p></div></li>
<li>
<p><div class="wp-caption alignnone" style="width: 138px"><a href="/images/bbc_news/2010-redesign-story.png"><img title="Story Page" src="/images/bbc_news/2010-redesign-story-thumb.png" alt="BBC News: redesigned story page" width="128" height="417" /></a><p class="wp-caption-text">Story Page</p></div></li>
</ul>
<p>The primary change is obviously the shift from sidebar navigation to a horizontal list at the head of the page. This allows better use of the horizontal space, with much more prominent elements such as &#8220;Features &amp; Analysis&#8221; to the side of the page.</p>
<p>The typography has also been improved, with larger headlines: these work well now we are no longer on 800 by 600 displays, but also work well on handheld devices like the iPhone, making it much easier to see the main headlines at a glance.</p>
<p>I think the font used in the navigation could be a bit larger, and an extra pixel or two wouldn&#8217;t come amiss on the secondary links (for example, &#8220;End-of-life dilemmas GPs face&#8221; on the lead story) but overall it promises to be a welcome change.</p>
<p>There will be other changes before the site goes live, and I haven&#8217;t any idea when that will be. Included in the survey was a mock-up of the intended complete home page design, but the differences were minimal.</p>
<p>I seem to have ended up with a cookie which causes me to still see many pages in the new layout, but I don&#8217;t know how long that will last. I&#8217;m looking forward to seeing the finished version of the entire site (the new video page looks good in the mock-up), but hopefully my cookie will stick around until then so I can continue to get the benefit of this nice redesign on the home and story pages.</p>
<p>(Hopefully the BBC won&#8217;t be too cross with me for leaking this.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2010/06/19/bbc-news-redesign-sneak-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XHTML 2 Canned&#8230;</title>
		<link>http://www.nickfitz.co.uk/2009/07/07/xhtml-2-canned/</link>
		<comments>http://www.nickfitz.co.uk/2009/07/07/xhtml-2-canned/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 23:27:29 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XHTML 2]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2009/07/07/xhtml-2-canned/</guid>
		<description><![CDATA[&#8230;not many dead. In other news: Phlogiston &#8220;seemed like a good idea at the time&#8221;; Doubt cast on Ussher chronology; Cold Fusion &#8211; yeah, right. Next, the Shipping Forecast.]]></description>
			<content:encoded><![CDATA[<p>&#8230;<a href="http://hsivonen.iki.fi/xhtml2-html5-q-and-a/">not many dead</a>.</p>
<p>In other news:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Phlogiston_theory">Phlogiston</a> &#8220;seemed like a good idea at the time&#8221;;</li>
<li>Doubt cast on <a href="http://en.wikipedia.org/wiki/Ussher_chronology">Ussher chronology</a>;</li>
<li><a href="http://en.wikipedia.org/wiki/Cold_Fusion">Cold Fusion</a> &#8211; yeah, right.</li>
</ul>
<p>
Next, the <a href="http://www.bbc.co.uk/weather/coast/shipping/">Shipping Forecast</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2009/07/07/xhtml-2-canned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix After Security Update 2009-001 Bricked My MacBook</title>
		<link>http://www.nickfitz.co.uk/2009/03/01/fix-after-security-update-2009-001-bricked-my-macbook/</link>
		<comments>http://www.nickfitz.co.uk/2009/03/01/fix-after-security-update-2009-001-bricked-my-macbook/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 20:30:57 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2009/03/01/fix-after-security-update-2009-001-bricked-my-macbook/</guid>
		<description><![CDATA[This afternoon I finally got around to letting Software Update install the OS X Security Update 2009-001 for Tiger on my MacBook. Being an idiot, I didn&#8217;t do a backup first. When the system restarted, it got to the grey screen with the Apple logo and the spinning gear, where it remained&#8230; for over half [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon I finally got around to letting Software Update install the OS X Security Update 2009-001 for Tiger on my MacBook.</p>
<p>Being an idiot, I didn&#8217;t do a backup first. When the system restarted, it got to the grey screen with the Apple logo and the spinning gear, where it remained&#8230; for over half an hour.</p>
<p>At this point I gave up and switched over to my PowerMac, where an intensive Google session commenced. There appear to be a number of people encountering this or similar problems, but various suggested solutions didn&#8217;t work.</p>
<p>I was able to mount the MacBook on the PowerMac in <a href="http://support.apple.com/kb/HT1661">target disk mode</a> (which somebody on <a href="http://discussions.apple.com/message.jspa?messageID=9045921#9045921">this Apple Support Discussions thread</a> wrongly claims is impossible) and followed some of the steps listed at MacFixIt&#8217;s &#8220;<a href="http://www.macfixit.com/article.php?story=20060322080433175">Startup fails (particularly after a system or security update); solving</a>&#8221; tutorial, specifically, deleting assorted cached OS files.</p>
<p>However, the MacBook still wouldn&#8217;t start, not even in Safe Mode.</p>
<p>So I then downloaded <a href="http://www.apple.com/downloads/macosx/apple/security_updates/securityupdate2009001tigerintel.html">the standalone installer for the update</a> from Apple. Despite being an Intel update, this ran on the PowerMac, and detected that the FireWire drive was a bootable Intel OS X installation. It installed successfully, and having ejected the MacBook drive, I restarted, holding down the Shift key to reboot in Safe Mode.</p>
<p>Bingo! The MacBook booted up. I restarted again, and it booted normally.</p>
<p>Panic over, and time to do a backup.</p>
<p>Hopefully this solution will prove helpful to anybody in the same situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2009/03/01/fix-after-security-update-2009-001-bricked-my-macbook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Theme: GiltEdge 0.1 alpha</title>
		<link>http://www.nickfitz.co.uk/2009/01/27/new-theme-giltedge/</link>
		<comments>http://www.nickfitz.co.uk/2009/01/27/new-theme-giltedge/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 15:31:59 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2009/01/27/new-theme-giltedge/</guid>
		<description><![CDATA[At long last, I&#8217;ve got around to developing a new theme for the site. Given the gold-and-lead colour scheme, and the dire financial straits the World currently finds itself in, the name GiltEdge seemed fitting It&#8217;s not complete yet &#8211; there are a few spots that aren&#8217;t quite pixel-perfect yet, and I&#8217;ve only tested in [...]]]></description>
			<content:encoded><![CDATA[<p>At long last, I&#8217;ve got around to developing a new theme for the site. Given the gold-and-lead colour scheme, and the dire financial straits the World currently finds itself in, the name GiltEdge seemed fitting <img src='http://www.nickfitz.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<span id="more-35"></span><br />
It&#8217;s not complete yet &#8211; there are a few spots that aren&#8217;t quite pixel-perfect yet, and I&#8217;ve only tested in Firefox and Safari on the Mac. Still, I thought I&#8217;d put it up in the hope that any visitors might kindly post a comment about any obviously broken bits they come across.</p>
<p class="update"><del>UPDATE: It&#8217;s wretchedly broken in IE6, and far from perfect in IE7. Why am I not surprised?</del></p>
<p class="update"><del>UPDATE: And, with a few hasLayout triggers, most of the IE issues are fixed. Just a few more to do.</del></p>
<p class="update">UPDATE: Everything now seems to be OK in IE 6, 7 and 8. There&#8217;s a conditional stylesheet for 6 and 7, almost entirely devoted to <code>hasLayout</code> triggers.</p>
<p>One thing I know about is the empty &#8220;navigation&#8221; section at the top of archive pages when there are no &#8220;next&#8221; or &#8220;previous&#8221; pages. I&#8217;ll have to dig into the WordPress API to check out how to make that section appear only when appropriate.</p>
<p>Once the little niggles like that are done, it&#8217;ll be time to start work on some more extensive customisations, together with a plugin or two.</p>
<p>In the meantime, enjoy! &#8211; or, if it breaks horribly for you, leave a comment.</p>
<h3>About the Picture</h3>
<p>The photograph at the top was taken at around 4:15pm on the 11th December 2007 from the 6th floor of <a href="http://maps.google.co.uk/?ie=UTF8&#038;ll=51.513944,-0.128596&#038;spn=0.003619,0.009323&#038;t=h&#038;z=17">Yahoo! Europe&#8217;s offices</a> on Shaftesbury Avenue in London. (I hadn&#8217;t broken in &#8211; I was contracting with them at the time.) The view looks over the rooftops of Seven Dials and Covent Garden towards Westminster; on the left is the Church of St Martin in the Fields near Trafalgar Square. Then, moving right, the light at the top of the clocktower commonly, if erroneously, called Big Ben shows that Parliament was in session at the time. A floodlit Westminster Abbey is next, contrasting sharply with the modern structure of Millbank Tower. Finally, I&#8217;m not absolutely certain, but I think the tower block at the right with the blue lights on top may be New Scotland Yard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2009/01/27/new-theme-giltedge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Urgent Update of Internet Explorer &#8211; Install It Now</title>
		<link>http://www.nickfitz.co.uk/2008/12/18/urgent-update-of-internet-explorer-install-it-now/</link>
		<comments>http://www.nickfitz.co.uk/2008/12/18/urgent-update-of-internet-explorer-install-it-now/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 04:03:49 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2008/12/18/urgent-update-of-internet-explorer-install-it-now/</guid>
		<description><![CDATA[Given that I&#8217;m so prone to criticising Microsoft, I have to give them credit for moving so rapidly to provide a patch for the recently discovered vulnerability in Internet Explorer. One little niggle: The email subject line &#8220;Out-of-Band Microsoft Security Bulletin Summary for December 2008&#8243; isn&#8217;t exactly clear. It uses terminology (&#8220;Out-of-Band&#8221;) relating to MS&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Given that I&#8217;m so prone to criticising Microsoft, I have to give them credit for moving so rapidly to provide a patch for the recently discovered vulnerability in Internet Explorer.<br />
<span id="more-34"></span><br />
One little niggle: The email subject line &#8220;Out-of-Band Microsoft Security Bulletin Summary for December 2008&#8243; isn&#8217;t exactly clear. It uses terminology (&#8220;Out-of-Band&#8221;) relating to MS&#8217;s update release strategy that probably makes no sense whatsoever to most people, who won&#8217;t even be aware of the monthly patch strategy. &#8220;Out-of-Band&#8221; is such a recondite term, being a technical usage that Microsoft are metaphorically relating to what is primarily a social issue of encouraging people to install an update, that it serves to obscure the importance of said update. What&#8217;s wrong with the word &#8220;Urgent&#8221;?</p>
<p>Still, leaving my obligatory whining aside, the number of versions and configurations patched makes it very clear that all users of Internet Explorer <em>must</em> install this one &#8211; and if your system isn&#8217;t supported, you <strong>really should upgrade</strong>.</p>
<p>What impresses me about this update is that it includes support for systems and versions so old that no web developer supports them anymore. This demonstrates that although we web devs may be able to pick and choose what we worry about through graded browser support (as do, for example, <a href="http://developer.yahoo.com/yui/articles/gbs/">Yahoo!</a> and <a href="http://www.bbc.co.uk/guidelines/futuremedia/technical/browser_support.shtml">the BBC</a>), there are nonetheless software developers out there, grappling with old C or C++ code, who are doing the desperately difficult job of supporting users of older systems. <a href="http://www.microsoft.com/technet/security/bulletin/ms08-dec.mspx">The list of systems and versions</a> they had to be sure to fix, and test, is available at Microsoft&#8217;s site: seventeen different combinations of operating system and browser version. <em>Seventeen!</em></p>
<p>Think about fixing and testing that little lot next time you&#8217;re upset by the <a href="http://positioniseverything.net/explorer/threepxtest.html">3-pixel text jog</a> <img src='http://www.nickfitz.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2008/12/18/urgent-update-of-internet-explorer-install-it-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More On ASP.NET&#8217;s Broken Error Handling</title>
		<link>http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/</link>
		<comments>http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 18:09:59 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Common sense]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/</guid>
		<description><![CDATA[More on ASP.NET's peculiar approach to HTTP errors.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve looked a bit more into <a href="http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/">the way ASP.NET handles HTTP errors</a>, and frankly it now seems not just irritating, but downright bizarre.<br />
<span id="more-33"></span><br />
By the way, although the original post was about a <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5">5xx series server error</a>, this also applies to <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4">4xx series client errors</a>. We&#8217;ll take the familiar <code>404 Not Found</code> as an example case.</p>
<p>Here are the main parts (with some headers and the body omitted) of the response to a broken request for <a href="http://blogs.msdn.com/oldnewthing/default.aspx">Raymond Chen&#8217;s blog</a> &#8211; I deliberately misspelled &#8220;default&#8221; as &#8220;defult&#8221; to trigger a 404:</p>
<p>
<pre><code>
HTTP/1.1 <strong>302 Found</strong>
Date: Wed, 10 Dec 2008 17:46:51 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
CommunityServer: 2.1.61025.2
<strong>Location: /error-notfound.aspx?aspxerrorpath=/oldnewthing/defult.aspx</strong>
Content-Type: text/html; charset=utf-8
Content-Length: 176
</code></pre>
</p>
<p>So, a request for something that is not found returns <code>302 Found</code>. Nice.</p>
<p>What happens when the browser follows the redirection to <code>/error-notfound.aspx?aspxerrorpath=/oldnewthing/defult.aspx</code>? This happens:</p>
<p>
<pre><code>
HTTP/1.1 <strong>404 Not Found</strong>
Date: Wed, 10 Dec 2008 17:46:52 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
CommunityServer: 2.1.61025.2
Content-Type: text/html; charset=utf-8
Content-Length: 11769
</code></pre>
</p>
<p>So, just to get this straight: when something is not found, ASP.NET returns a <code>302 Found</code> response redirecting the client elsewhere. Then, when the redirect is followed, it returns a <code>404 Not Found</code> response, despite the fact that this page clearly <em>has</em> been found, and it was the page that redirected us here that was <em>not</em> found.</p>
<p>Weird. Just plain weird.</p>
<p>Update: an online acquaintance (I don&#8217;t have a URL for him) has pointed me to a page on <cite><abbr title="Microsoft Developer Network">MSDN</abbr></cite> where <a href="http://msdn.microsoft.com/en-us/library/aa479319.aspx">the rationale for this behaviour</a> is presented:</p>
<blockquote cite="http://msdn.microsoft.com/en-us/library/aa479319.aspx"><p>
Redirect creates a new Context, Transfer does not. Redirect requires a round-trip to the browser, Transfer does not. As a result of this round-trip, Redirect rewrites the URL to reflect the location of the error page, Transfer does not.</p>
<p>
If this seems to be an argument in favor of Transfer, it isn&#8217;t. The rationale of the ASP.NET development team is that Redirect <em>accurately displays the URL of the custom error page</em>&#8230;
</p>
</blockquote>
<p>However, at no point is it explained <em>why</em> displaying such an implementation detail to clients is preferable. Given that the article starts with the words:</p>
<blockquote cite="http://msdn.microsoft.com/en-us/library/aa479319.aspx"><p>The quality of a site should be measured not only by how well it works, but by how gracefully it fails.</p>
</blockquote>
<p>it seems strange that it then recommends a technique which causes sites to fail in a singularly graceless manner.</p>
<p>My suggestion would be to modify your ASP.NET application configurations so that the <code>customError</code> capability uses the <code>Transfer</code> technique instead of <code>Redirect</code>. If that </p>
<blockquote><p>&#8230;breaks a tenet of the design philosophy of ASP.NET&#8230;</p>
</blockquote>
<p> then so be it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Can&#8217;t Microsoft Just Use HTTP Like Everybody Else?</title>
		<link>http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/</link>
		<comments>http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 05:57:39 +0000</pubDate>
		<dc:creator>nickfitz</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Common sense]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/</guid>
		<description><![CDATA[A 5xx server error shouldn't redirect the user to a new location. They should be left where they are, ready to retry when the server has recovered.]]></description>
			<content:encoded><![CDATA[<p>A few moments ago I was following a link from Google to Raymond Chen&#8217;s excellent MSDN blog <a href="http://blogs.msdn.com/oldnewthing/default.aspx">The Old New Thing</a>. As has happened to me before, I ended up getting redirected to an ASP.NET error page at a totally different URL, telling me that the site was &#8220;unable to service my request.&#8221;<br />
<span id="more-32"></span><br />
Now, the inability to serve the requested page is fair enough; Raymond has previously mentioned that the <code>blogs.msdn.com</code> site can be slow or overloaded because it comes under such relentless attack from comment spammers.</p>
<p>But a redirect to the absolute URL of an error page? That&#8217;s just annoying. It means that I can&#8217;t try to reload the page to see if the server has recovered from whatever issues are affecting it &#8211; or, more accurately, I can try to reload, but as I&#8217;m now at the absolute URL of the error page, I just keep reloading that.</p>
<p>Unsurprisingly, the HTTP 1.1 standard has already provided for this kind of situation by means of the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.4"><code>503 Service Unavailable</code></a> status code:</p>
<blockquote><p>The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.</p>
</blockquote>
<p>If the <code>blogs.msdn.com</code> people (who, by the way, Raymond is not responsible for) would use this status code to serve their error page for the post on Raymond&#8217;s blog, I could simply come back after a few minutes and try to reload the page, as my browser would still be at the same location. </p>
<p>It&#8217;s also possible that they <em>do</em> send this status code, but with a <code>Location: </code> header to cause the redirect. (The server seems to be back on its feet again now, so I can&#8217;t inspect the HTTP cycle to check.)</p>
<p>Either way, what they do is wrong and broken. <strong>Don&#8217;t</strong> send people somewhere else to explain a <code>5xx Server Error</code> status; simply serve the explanation directly using the appropriate 5xx status code, leaving your visitors ready to try a reload when the server has recovered. Otherwise, you&#8217;ll serve a lot of <code>200 OK</code> responses from your error page, most of them to people who haven&#8217;t noticed that their location bar now points there as they hit <code>[Control | Command]-R</code> in the hope of seeing what they originally came for.</p>
<p>Note: A more recent post <a href="http://www.nickfitz.co.uk/2008/12/10/more-on-aspnets-broken-error-handling/">examines this aspect of ASP.NET in greater depth</a>, and suggests the use of a configuration option that resolves the problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nickfitz.co.uk/2008/12/07/why-cant-microsoft-just-use-http-like-everybody-else/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
