<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.preshweb.co.uk/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>PreshBlog</title>
	
	<link>http://blog.preshweb.co.uk</link>
	<description>Motorcycles, computers and beer</description>
	<lastBuildDate>Fri, 30 Jul 2010 20:48:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.preshweb.co.uk/preshblog" /><feedburner:info uri="preshblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Where my photos end up…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/-LuWURoQD_s/</link>
		<comments>http://blog.preshweb.co.uk/2010/07/where-my-photos-end-up/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 20:48:31 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=646</guid>
		<description>&lt;p&gt;I tried out &lt;a href="http://www.duckduckgo.com/"&gt;DuckDuckGo&lt;/a&gt; today, and of course one of the things you&amp;#8217;ll often use to test a search engine is to search for your own name / online nick for a little bit of &lt;a href="http://en.wikipedia.org/wiki/Egosurfing"&gt;egosurfing&lt;/a&gt;, and I was surprised just how widely some of my photos from Flickr are used.  Most of my images on Flickr are available for use under a Creative Commons attribution licence.&lt;/p&gt;
&lt;p&gt;A few of my photos I found widely spread were:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3268/2551602773_ac17c369e2_d.jpg" title="Passengers leaving a Ryanair plane" /&gt;&lt;/p&gt;
&lt;p&gt;I found this one at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://consumerist.com/2010/04/ryanairs-pay-to-potty-policy-could-violate-laws.html"&gt;http://consumerist.com/2010/04/ryanairs-pay-to-potty-policy-could-violate-laws.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://elblogdelvuelo.es/ryanair-abre-su-base-en-malaga.html"&gt;http://elblogdelvuelo.es/ryanair-abre-su-base-en-malaga.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trotamillas.es/8926/¿que-aerolineas-que-ofrecen-vuelos-baratos/"&gt;http://www.trotamillas.es/8926/¿que-aerolineas-que-ofrecen-vuelos-baratos/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://news.cheapflights.co.uk/2010/01/ryanair-u-turn-oleary-pledges-fare-hikes/"&gt;http://news.cheapflights.co.uk/2010/01/ryanair-u-turn-oleary-pledges-fare-hikes/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://frenchteachernet.blogspot.com/2010/07/ryanair-leve-toi-et-vole.html"&gt;http://frenchteachernet.blogspot.com/2010/07/ryanair-leve-toi-et-vole.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tipsfromthetlist.com/19316.html"&gt;http://www.tipsfromthetlist.com/19316.html&lt;/a&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;img src="http://farm3.static.flickr.com/2457/3860586024_3d3b1942c5_d.jpg" title="Dell laptop" /&gt;&lt;/p&gt;
&lt;p&gt;This image of my laptop turned up at, among other places:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lifehacker.com/5529299/"&gt;http://lifehacker.com/5529299/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.thetechherald.com/article.php/200941/4580/Dell-closes-facility-and-cuts-900-workers-in-North-Carolina"&gt;http://www.thetechherald.com/article.php/200941/4580/Dell-closes-facility-and-cuts-900-workers-in-North-Carolina&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mikereinold.com/2009/12/5-things-i-learned-in-2009.html"&gt;http://www.mikereinold.com/2009/12/5-things-i-learned-in-2009.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;img src="http://farm3.static.flickr.com/2655/3860586034_a65347be8a_d.jpg" title="Blackberry keyboard" /&gt;&lt;/p&gt;
&lt;p&gt;The above image of my old Blackberry was used in a &lt;a href="http://www.slideshare.net/slister/keyboarding-in-the-primary-grades-yto-series"&gt;presentation&lt;/a&gt; someone gave on teaching keyboard skills to children, too.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3092/2552409430_4d5660ca25_d.jpg" title="Rossport pier" /&gt;&lt;/p&gt;
&lt;p&gt;This image of the pier in Rossport, Co Mayo (which I also uploaded to the excellent &lt;a href="http://www.geograph.org.uk"&gt;Geograph&lt;/a&gt; project) is currently used on the &lt;a href="http://en.wikipedia.org/wiki/Rossport"&gt;Wikipedia article on Rossport&lt;/a&gt;, along with the related &lt;a href="http://en.wikipedia.org/wiki/Kilcommon"&gt;Kilcommon&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Sruwaddacon_Bay"&gt;Sruwaddacon Bay&lt;/a&gt; entries.&lt;/p&gt;
&lt;p&gt;Interesting to see how widely humble pictures can spread &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=-LuWURoQD_s:63ax8m2LzJ0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=-LuWURoQD_s:63ax8m2LzJ0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=-LuWURoQD_s:63ax8m2LzJ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=-LuWURoQD_s:63ax8m2LzJ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=-LuWURoQD_s:63ax8m2LzJ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=-LuWURoQD_s:63ax8m2LzJ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=-LuWURoQD_s:63ax8m2LzJ0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/07/where-my-photos-end-up/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/07/where-my-photos-end-up/</feedburner:origLink></item>
		<item>
		<title>Domestic appliance repairs in Stevenage &amp; Herts</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/pyzzaL3AkFk/</link>
		<comments>http://blog.preshweb.co.uk/2010/07/domestic-appliance-repairs-in-stevenage-herts/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 12:24:28 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=643</guid>
		<description>&lt;p&gt;Just a quick plug for my future brother-in-law, who has gone self-employed doing &lt;a href="http://www.ijedomestics.co.uk/"&gt;domestic appliance repairs&lt;/a&gt; in/around Stevenage, repairing cookers, washing machine, tumble dryers etc.&lt;/p&gt;
&lt;p&gt;I knocked up a basic site for him, and figured linking to it from here would help Google find &amp;#038; rank it &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Edit: I&amp;#8217;ve also registered &lt;a href="http://www.stevenage-appliance-repair.co.uk/"&gt;stevenage-appliance-repair.co.uk&lt;/a&gt; and pointed it to his site, to see if that helps.  Maybe it&amp;#8217;s time to practice SEO crap.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=pyzzaL3AkFk:KoxHbycN5LE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=pyzzaL3AkFk:KoxHbycN5LE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=pyzzaL3AkFk:KoxHbycN5LE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=pyzzaL3AkFk:KoxHbycN5LE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=pyzzaL3AkFk:KoxHbycN5LE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=pyzzaL3AkFk:KoxHbycN5LE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=pyzzaL3AkFk:KoxHbycN5LE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/07/domestic-appliance-repairs-in-stevenage-herts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/07/domestic-appliance-repairs-in-stevenage-herts/</feedburner:origLink></item>
		<item>
		<title>pQuery – jQuery-like fun in Perl</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/GErNcLb4C74/</link>
		<comments>http://blog.preshweb.co.uk/2010/06/pquery-jquery-like-fun-in-perl/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 21:55:28 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=635</guid>
		<description>&lt;p&gt;I discovered &lt;a href="http://search.cpan.org/dist/pQuery"&gt;pQuery&lt;/a&gt; the other day, and had been meaning to try it out.&lt;/p&gt;
&lt;p&gt;I got the chance to use it today, and I have to say, I&amp;#8217;m impressed.  I am, however, rather wary that the last release was nearly two years ago; I&amp;#8217;m not sure I&amp;#8217;d want to use it in production code unless it&amp;#8217;s being actively maintained &amp;#8211; I might use it for non-important things before making that call.&lt;/p&gt;
&lt;p&gt;Anyway, a brief example:&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s say you want to capture the content of a paragraph/div with the class &amp;#8220;bar&amp;#8221; from a page somewhere.. it can be as simple as:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl perl" style="font-family:monospace;"&gt;pQuery&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style=""&gt;'http://www.example.com/foo.html'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;find&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style=""&gt;'.bar'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;html&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Let&amp;#8217;s say you want to extract all H1 headings instead:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl perl" style="font-family:monospace;"&gt;pQuery&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$url&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;
    &lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;find&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style=""&gt;'h1'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;
    &lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;each&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;
        &lt;span style="color: #000000; font-weight: bold;"&gt;sub&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; say &lt;span style="color: #ff0000;"&gt;&amp;quot;Heading: &amp;quot;&lt;/span&gt; . pQuery&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$_&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;text&lt;/span&gt;; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
    &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I&amp;#8217;d love to see this continue in active development &amp;#8211; there&amp;#8217;s several features it could really use, but what&amp;#8217;s already there is handy stuff!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=GErNcLb4C74:6h7q1Fn4XxM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=GErNcLb4C74:6h7q1Fn4XxM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=GErNcLb4C74:6h7q1Fn4XxM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=GErNcLb4C74:6h7q1Fn4XxM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=GErNcLb4C74:6h7q1Fn4XxM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=GErNcLb4C74:6h7q1Fn4XxM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=GErNcLb4C74:6h7q1Fn4XxM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/06/pquery-jquery-like-fun-in-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/06/pquery-jquery-like-fun-in-perl/</feedburner:origLink></item>
		<item>
		<title>Atlas Direct will weasel out of travel insurance claims due to volcanic ash</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/WI8hKEYCWGE/</link>
		<comments>http://blog.preshweb.co.uk/2010/05/atlas-direct-will-weasel-out-of-travel-insurance-claims-due-to-volcanic-ash/#comments</comments>
		<pubDate>Wed, 12 May 2010 13:02:42 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=629</guid>
		<description>&lt;p&gt;In light of the recent flight disruptions caused by volcanic ash, I decided to enquire as to whether my travel insurance provider, &lt;a href="http://www.atlasdirect.net/"&gt;Atlas Direct&lt;/a&gt;, would attempt to weasel out of claims should we be hit by problems (we don&amp;#8217;t travel until August, so should be safe, fingers crossed, but wanted to check&amp;#8230;).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;10 working days&lt;/b&gt; later, I finally received the following response:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
We do not consider volcanic ash to be &amp;#8220;adverse weather&amp;#8221; therefore there is no cover under the &amp;#8220;Travel Delay and Abandonment&amp;#8221; and the &amp;#8220;Missed Departure&amp;#8221; sections.&lt;/p&gt;
&lt;p&gt;Additionally it is not a stated reason to cancel or curtail a trip and therefore there is no cover under the &amp;#8220;Cancellation, Curtailment and Trip Interruption&amp;#8221; section.&lt;/p&gt;
&lt;p&gt;If the Insured is stranded abroad their policy will be automatically extended for the period the Insured is abroad provided you return on the earliest possible flight to the UK.  The Insured is only covered for &amp;#8220;Medical Emergency and Repatriation&amp;#8221; and &amp;#8220;Luggage&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Additional accommodation and travel costs due to volcanic ash incident are not covered under this extension.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So, if you&amp;#8217;re using Atlas Direct, do be aware that, if you are affected by flight cancellations from volcanic ash, they will not help you.  Hopefully your airline/tour operator will, but they will not.  I previously held Atlas Direct in fairly high regard and was happy to be insured with them, now I&amp;#8217;m not so sure.  (I know they&amp;#8217;re not alone in wanting to weasel out of any claims due to the ash,though!)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=WI8hKEYCWGE:pnZxIvUnRNs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=WI8hKEYCWGE:pnZxIvUnRNs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=WI8hKEYCWGE:pnZxIvUnRNs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/05/atlas-direct-will-weasel-out-of-travel-insurance-claims-due-to-volcanic-ash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/05/atlas-direct-will-weasel-out-of-travel-insurance-claims-due-to-volcanic-ash/</feedburner:origLink></item>
		<item>
		<title>Perl dead?  Not by a long shot…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/PNMqBprwY7Q/</link>
		<comments>http://blog.preshweb.co.uk/2010/04/perl-dead-not-by-a-long-shot/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 12:39:24 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=624</guid>
		<description>&lt;p&gt;With &lt;a href="http://stats.cpantesters.org/trends.html"&gt;1162 distributions uploaded to CPAN last month&lt;/a&gt; the highest ever &amp;#8211; modern Perl is still going strong!&lt;/p&gt;
&lt;p&gt;(See also &lt;a href="http://www.isperldead.com/"&gt;isperldead.com&lt;/a&gt; for another opinion&amp;#8230;. &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt;  )&lt;/p&gt;
&lt;p&gt;Traditionally, the Perl community has been fairly quiet &amp;#8211; probably because we&amp;#8217;re all busy getting on and doing things rather than feeling the need to shout about how great our language is, but the &lt;a href="http://www.enlightenedperl.org/ironman.html"&gt;Planet Perl Ironman&lt;/a&gt; project aims to help change that.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PNMqBprwY7Q:mc86Tly0zRQ:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PNMqBprwY7Q:mc86Tly0zRQ:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PNMqBprwY7Q:mc86Tly0zRQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PNMqBprwY7Q:mc86Tly0zRQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PNMqBprwY7Q:mc86Tly0zRQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PNMqBprwY7Q:mc86Tly0zRQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PNMqBprwY7Q:mc86Tly0zRQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/04/perl-dead-not-by-a-long-shot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/04/perl-dead-not-by-a-long-shot/</feedburner:origLink></item>
		<item>
		<title>Dancer::Plugin::Database – easy DB connections for Dancer apps</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/IqY7NepJ2cY/</link>
		<comments>http://blog.preshweb.co.uk/2010/04/dancerplugindatabase-0-01/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 09:49:20 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[dancer]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=616</guid>
		<description>&lt;p&gt;Last night I finished and released the first version of &lt;a href="http://search.cpan.org/dist/Dancer-Plugin-Database"&gt;Dancer::Plugin::Database&lt;/a&gt;, a plugin for the &lt;a href="http://www.perldancer.org/"&gt;Dancer web framework&lt;/a&gt; to provide easy database connections using the venerable &lt;a href="http://search.cpan.org/dist/DBI"&gt;DBI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It takes the database connection details from the app config file, and provides a database keyword which will return you a connected database handle (taking care of ensuring that the DB connection is still alive, etc).&lt;/p&gt;
&lt;p&gt;So, usage can be as simple as:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl perl" style="font-family:monospace;"&gt;&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$books&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; database&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;selectall_arrayref&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;
    &lt;span style=""&gt;'select * from books where author = ?'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; 
    &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; Slice &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$author&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;(Calling database() simply returns a DBI database handle, so you can obviously do anything you can do with DBI).&lt;/p&gt;
&lt;p&gt;Also, at the moment, if a database connection could not be established for any reason, database() will just return undef, so you will need to handle errors appropriately.  After considering whether it&amp;#8217;s wise, I may tweak it to die, so that Dancer will handle the failure with a pretty 500 error for you (in which case, I&amp;#8217;ll make it possible to disable that via the config).&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=IqY7NepJ2cY:1p9vLBPH4sI:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=IqY7NepJ2cY:1p9vLBPH4sI:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=IqY7NepJ2cY:1p9vLBPH4sI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=IqY7NepJ2cY:1p9vLBPH4sI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=IqY7NepJ2cY:1p9vLBPH4sI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=IqY7NepJ2cY:1p9vLBPH4sI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=IqY7NepJ2cY:1p9vLBPH4sI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/04/dancerplugindatabase-0-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/04/dancerplugindatabase-0-01/</feedburner:origLink></item>
		<item>
		<title>Resizing ext2/3 filesystem in loop file</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/Tp78-Rv2gkE/</link>
		<comments>http://blog.preshweb.co.uk/2010/04/resizing-ext23-filesystem-in-loop-file/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:43:31 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=614</guid>
		<description>&lt;p&gt;Quick post, mostly for my own future reference, as I couldn&amp;#8217;t quite remember how to resize an ext3 filesystem contained in a file.&lt;/p&gt;
&lt;pre&gt;
dd if=/dev/zero of=disk.img bs=1M count=1024 oflag=append conv=notrunc
e2fsck -f disk.img
resize2fs disk.img
&lt;/pre&gt;
&lt;p&gt;The above will append 1GB to the end of the file, then resize the ext2/3 filesystem to take up that newly-added space.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Tp78-Rv2gkE:XML6vbn2xL0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Tp78-Rv2gkE:XML6vbn2xL0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Tp78-Rv2gkE:XML6vbn2xL0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Tp78-Rv2gkE:XML6vbn2xL0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Tp78-Rv2gkE:XML6vbn2xL0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Tp78-Rv2gkE:XML6vbn2xL0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Tp78-Rv2gkE:XML6vbn2xL0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/04/resizing-ext23-filesystem-in-loop-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/04/resizing-ext23-filesystem-in-loop-file/</feedburner:origLink></item>
		<item>
		<title>Facebook – become a fan</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/wJlwH8Q7TZQ/</link>
		<comments>http://blog.preshweb.co.uk/2010/02/facebook-become-a-fan/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 11:44:32 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[humour]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=610</guid>
		<description>&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2010/02/facebook-become-a-fan.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2010/02/facebook-become-a-fan.png" alt="" title="facebook-become-a-fan" width="500" height="385" class="alignnone size-full wp-image-611" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://theweaselking.livejournal.com/3590790.html"&gt;via theweaselking&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=wJlwH8Q7TZQ:XdOz_uZwSH8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=wJlwH8Q7TZQ:XdOz_uZwSH8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=wJlwH8Q7TZQ:XdOz_uZwSH8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=wJlwH8Q7TZQ:XdOz_uZwSH8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=wJlwH8Q7TZQ:XdOz_uZwSH8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=wJlwH8Q7TZQ:XdOz_uZwSH8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=wJlwH8Q7TZQ:XdOz_uZwSH8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/02/facebook-become-a-fan/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/02/facebook-become-a-fan/</feedburner:origLink></item>
		<item>
		<title>Several Perl scripts released to Github</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/jN78ccQfy7k/</link>
		<comments>http://blog.preshweb.co.uk/2010/02/several-perl-scripts-released-to-github/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:42:16 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=607</guid>
		<description>&lt;p&gt;I&amp;#8217;ve been playing with Github lately, and rather liking it.&lt;/p&gt;
&lt;p&gt;I did briefly try it about a year ago, and was impressed, but wasn&amp;#8217;t driven enough to consider moving away from Subversion.&lt;/p&gt;
&lt;p&gt;I tried it out more when I started contributing to the &lt;a href="http://dancer.sukria.net/"&gt;Dancer Perl framework&lt;/a&gt;, and got to like it; since then, I&amp;#8217;ve moved several of my modules over to Github already.&lt;/p&gt;
&lt;p&gt;I finally got round to moving some miscellanous Perl scripts too, ones which I&amp;#8217;ve been meaning to release as open-source in case they&amp;#8217;re of use to anyone, but didn&amp;#8217;t get round to doing.&lt;/p&gt;
&lt;p&gt;They&amp;#8217;re now online at: &lt;a href="http://github.com/bigpresh/misc-scripts"&gt;http://github.com/bigpresh/misc-scripts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Github made sharing my code easy &amp;#8211; Github++;&lt;/p&gt;
&lt;p&gt;Now, that&amp;#8217;s enough geekery for one evening.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=jN78ccQfy7k:eZqzCJryVyw:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=jN78ccQfy7k:eZqzCJryVyw:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=jN78ccQfy7k:eZqzCJryVyw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=jN78ccQfy7k:eZqzCJryVyw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=jN78ccQfy7k:eZqzCJryVyw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=jN78ccQfy7k:eZqzCJryVyw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=jN78ccQfy7k:eZqzCJryVyw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/02/several-perl-scripts-released-to-github/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/02/several-perl-scripts-released-to-github/</feedburner:origLink></item>
		<item>
		<title>Dancer 1.150 released – a flexible, lightweight web framework for Perl</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/ovfYyCqcZRs/</link>
		<comments>http://blog.preshweb.co.uk/2010/02/dancer-1-150-released-a-flexible-lightweight-web-framework-for-perl/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:16:15 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=597</guid>
		<description>&lt;p&gt;Version 1.150 of the &lt;a href="http://dancer.sukria.net/"&gt;Dancer web framework&lt;/a&gt; has just been released, so this seemed like a good time to write up this post.&lt;/p&gt;
&lt;p&gt;Recently, I&amp;#8217;ve been wanting to find a Perl web framework that I really got on with.  I&amp;#8217;ve used &lt;a href="http://www.catalystframework.org/"&gt;Catalyst&lt;/a&gt;, which is very powerful and popular, but it&amp;#8217;s quite heavy (a lot of dependencies, and reasonably high memory usage and startup time), and I felt as though it forced me to code &amp;#8220;the Catalyst way&amp;#8221;, rather than staying out of my way and getting on with writing my code.&lt;/p&gt;
&lt;p&gt;I took a look around at the current Perl web frameworks (e.g. CGI-Application, Jifty, Catalyst, Mojo&amp;#8230;) &amp;#8211; all good in their own ways, but for various reasons, none of them really struck me as something I&amp;#8217;d be particularly happy to work with.&lt;/p&gt;
&lt;p&gt;I did briefly consider trying to write my own, but that&amp;#8217;s a wheel I do not want to re-invent &amp;#8211; there&amp;#8217;s enough odd-shaped wheels out there already.&lt;/p&gt;
&lt;p&gt;When I found &lt;a href="http://search.cpan.org/dist/Dancer"&gt;Dancer&lt;/a&gt; (a port of Ruby&amp;#8217;s Sinatra framework), I immediately liked the fact it looked simple and stays out of the way as much as possible, so I gave it a try &amp;#8211; and, I must say, I&amp;#8217;m impressed.&lt;br /&gt;
&lt;!--more--&gt;&lt;br /&gt;
It&amp;#8217;s simple to use yet lets you do powerful things, and lets me just get on with coding my web app without getting in the way or making me think too much.  The interface just seems to make sense &amp;#8211; intuitive guesses as to how something will work were often proved correct &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;The new &lt;a href="http://search.cpan.org/dist/Dancer::Cookbook"&gt;Dancer Cookbook&lt;/a&gt; includes many code samples illustrating Dancer in action, but the following is a fully-working Dancer web application:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl perl" style="font-family:monospace;"&gt;    &lt;span style="color: #666666; font-style: italic;"&gt;#!/usr/bin/perl&lt;/span&gt;
    &lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; Dancer;
    get &lt;span style=""&gt;'/hello/:name'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;sub&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
        &lt;span style="color: #000066;"&gt;return&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Why, hello there &amp;quot;&lt;/span&gt; . params&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;name&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;;
    &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;;
    dance;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;(No need to &lt;tt&gt;use strict&lt;/tt&gt; &amp;#8211; Dancer does that for you.)&lt;/p&gt;
&lt;p&gt;There were a few improvements I thought needed making, in particularly the documentation, so I approached the author Alexis Sukrieh on IRC, forked the &lt;a href="http://github.com/sukria/Dancer"&gt;Dancer Github repository&lt;/a&gt;, and started hacking on the code; several of my improvements are in 1.150, and I&amp;#8217;ve found Alexis and the other developers to be approachable, decent developers &amp;#8211; it&amp;#8217;s great to see the power of Open Source at work &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Despite its lightweight approach, Dancer includes a very friendly error display page enabled for the development environment (but obviously disabled for production, as it&amp;#8217;d look unprofessional, and more importantly, could leak sensitive information).&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a screenshot of the error page:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2010/02/route-handler-error-page-1.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2010/02/route-handler-error-page-1.png" alt="route-handler-error-page-1" title="route-handler-error-page-1" width="587" height="354" class="alignnone size-full wp-image-598" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Benchmarks&lt;/h2&gt;
&lt;p&gt;Just for fun, I tried a couple of very basic Benchmarks to compare Dancer and Catalyst, and found Dancer to be 526% quicker at initial startup, and used 56.76% less RAM.  These were obtained using e.g. &lt;tt&gt;time perl -MDancer -e0&lt;/tt&gt;, and are very basic; YMMV.  &lt;/p&gt;
&lt;p&gt;I also did brief load testing with &lt;a href="http://openwebload.sourceforge.net/"&gt;openload&lt;/a&gt;, and with 100 simultaneous clients making requests, a basic standalone Dancer app satisified around 250 requests per second &amp;#8211; not too shabby.&lt;/p&gt;
&lt;p&gt;Anyway, I&amp;#8217;ve found Dancer to be very promising, it&amp;#8217;s already my choice of web framework, and it&amp;#8217;s nice to know that in the true spirit of open source, if I think something can be improved, I can submit those improvements.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=ovfYyCqcZRs:ceh3E3CLyPE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=ovfYyCqcZRs:ceh3E3CLyPE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=ovfYyCqcZRs:ceh3E3CLyPE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=ovfYyCqcZRs:ceh3E3CLyPE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=ovfYyCqcZRs:ceh3E3CLyPE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=ovfYyCqcZRs:ceh3E3CLyPE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=ovfYyCqcZRs:ceh3E3CLyPE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/02/dancer-1-150-released-a-flexible-lightweight-web-framework-for-perl/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/02/dancer-1-150-released-a-flexible-lightweight-web-framework-for-perl/</feedburner:origLink></item>
		<item>
		<title>Users don’t like new “Facebook login page”…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/Mfaebvja9c8/</link>
		<comments>http://blog.preshweb.co.uk/2010/02/users-dont-like-new-facebook-login-page/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 16:44:43 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[fail]]></category>
		<category><![CDATA[humour]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=587</guid>
		<description>&lt;p&gt;Seems a lot of clueless users have been trying to get to Facebook by searching for &amp;#8220;facebook login&amp;#8221; rather than going to Facebook, and landing on a blog post titled &lt;a href="http://www.readwriteweb.com/archives/facebook_wants_to_be_your_one_true_login.php"&gt;Facebook wants to be your one true login&lt;/a&gt; from ReadWriteWeb, not understanding that they&amp;#8217;re on an entirely different site, and bitching (in depressingly moronic ways) that they don&amp;#8217;t like the new Facebook login, or can&amp;#8217;t understand how to log in.&lt;/p&gt;
&lt;p&gt;The comments on that post (all 7 pages, as of last time I looked) make for depressing reading.&lt;/p&gt;
&lt;p&gt;Now, I don&amp;#8217;t like to make fun of people just because their computer skills might not be particularly good, but the lack of literacy, reading skills, logic and general comprehension shown in the comments is just&amp;#8230; it&amp;#8217;s depressing.&lt;/p&gt;
&lt;p&gt;Some examples:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
WHAT THE HELL IS GOIN ON WITH THIS FACEBOOK.. FIRST YOU WANNA CHARGE NA YOU WANNA NOT LET US LOG IN&amp;#8230;.. UGH STOP CHANGIN IT I LIKE THE OLD FB&amp;#8230;. IF YOU ARE THE NEW OWNER YOU SUCK AND I WISH YOU WOULD CREATE UR OWN SHTY AND LEAVE FB ALONE LOSER&amp;#8230;&amp;#8230;&amp;#8230;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
wtf is this bullshttttttttttt all about. can i get n plzzzzzzzzz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
This is such a mess I can&amp;#8217;t do a thing on my facebook .The changes you have made are ridiculous,I can&amp;#8217;t even login!!!!!I am very upset!!!
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
i do not like this, please go back to the old one or drop me from facebook.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
My daughters&amp;#038;sons show me how 2 use facbook,Iwas confuse then now i&amp;#8217;m really confuse just let me log in the old way this way really sucks!!!!!!!!
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
this is a waste of time, go back to the way it was!!!!!!!!!!!
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
I like thr old way to sign in this sucks big time let me in
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
this is not a good thing i just don&amp;#8217;t think u have thought this thru. I haven&amp;#8217;t made a decision yet but i might give facebook up this is too much trouble
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
I hate this bring the old facebook back. Cannot login.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
HELL,WHERE IS THE FACEBOOK PAGE.DAM!SOON AS YOU LEARN ONE THING HERE WE CHANGING SHIT.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
i dont like this new changes i like the way was before and now is a disaster at list live the page the same of before i dont&amp;#8217; care if they change the owner.ok?bye now hope you go back the same of before
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
Ok If I have to I will comment,I love facebook so right now just want to log in if thats ok with you..lol Keep up the good work&amp;#8230;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;OK, that&amp;#8217;s enough examples of epic fail.&lt;/p&gt;
&lt;p&gt;It makes you wonder how some of these people survive in general life, and how they managed to get on the Internet in the first place.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Mfaebvja9c8:MOxMW7QzzNs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Mfaebvja9c8:MOxMW7QzzNs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Mfaebvja9c8:MOxMW7QzzNs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Mfaebvja9c8:MOxMW7QzzNs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Mfaebvja9c8:MOxMW7QzzNs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Mfaebvja9c8:MOxMW7QzzNs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Mfaebvja9c8:MOxMW7QzzNs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/02/users-dont-like-new-facebook-login-page/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/02/users-dont-like-new-facebook-login-page/</feedburner:origLink></item>
		<item>
		<title>*Yoink* Om nom nom…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/OUuW2EGGboU/</link>
		<comments>http://blog.preshweb.co.uk/2010/02/yoink-om-nom-nom/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 13:04:08 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[humour]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=583</guid>
		<description>&lt;p&gt;&lt;img src="http://www.preshweb.co.uk/downloads/tasty.gif" border="0"&gt;&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://theweaselking.livejournal.com/3562075.html"&gt;via theweaselking&lt;/a&gt;)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=OUuW2EGGboU:DUKR2vWzbjk:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=OUuW2EGGboU:DUKR2vWzbjk:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=OUuW2EGGboU:DUKR2vWzbjk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=OUuW2EGGboU:DUKR2vWzbjk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=OUuW2EGGboU:DUKR2vWzbjk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=OUuW2EGGboU:DUKR2vWzbjk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=OUuW2EGGboU:DUKR2vWzbjk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/02/yoink-om-nom-nom/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/02/yoink-om-nom-nom/</feedburner:origLink></item>
		<item>
		<title>Custom Bash completions for lazy bastards</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/oY03U99cm7Y/</link>
		<comments>http://blog.preshweb.co.uk/2010/01/custom-bash-completions-for-lazy-bastards/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:29:01 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=579</guid>
		<description>&lt;p&gt;At $work, we have a log server, where the current day&amp;#8217;s logs from a given machine are stored in, e.g. &lt;tt&gt;/logs/machinename/year/month/day/&lt;/tt&gt;.  In a moment of &lt;a href="http://catb.org/jargon/html/Y/yak-shaving.html"&gt;yak shaving&lt;/a&gt;, I added a function to my &lt;tt&gt;.profile&lt;/tt&gt;, named &lt;tt&gt;cdmachinelogs&lt;/tt&gt; to allow me to type e.g. &lt;tt&gt;cdmachinelogs somemachine&lt;/tt&gt;, and end up in the appropriate directory.&lt;/p&gt;
&lt;p&gt;Now, Bash will automatically tab-complete e.g. &amp;#8220;cdm&lt;tab&gt;&amp;#8221; into cdmachinelogs, but I wanted to be extra-lazy and tab-complete the machine name, too.&lt;/p&gt;
&lt;p&gt;Enter the following snippet:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
complete -W "$(find /log/path -maxdepth 1 -mindepth 1 -type d -printf '%f ')" cdmachinelogs&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So, it sets up tab-completion for the cdmachinelogs command, using a list of words obtained by finding each directory name under the path to the logs.&lt;/p&gt;
&lt;p&gt;Posted mostly for my own later reference, but also for anyone who might find it useful.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=oY03U99cm7Y:iCOXm7dgeMo:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=oY03U99cm7Y:iCOXm7dgeMo:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=oY03U99cm7Y:iCOXm7dgeMo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=oY03U99cm7Y:iCOXm7dgeMo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=oY03U99cm7Y:iCOXm7dgeMo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=oY03U99cm7Y:iCOXm7dgeMo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=oY03U99cm7Y:iCOXm7dgeMo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/01/custom-bash-completions-for-lazy-bastards/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/01/custom-bash-completions-for-lazy-bastards/</feedburner:origLink></item>
		<item>
		<title>Newsflash: America not centre of world</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/PZ-zi6jyHeY/</link>
		<comments>http://blog.preshweb.co.uk/2010/01/newsflash-america-not-centre-of-world/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 09:34:11 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=576</guid>
		<description>&lt;p&gt;&lt;a href="http://news.bbc.co.uk/1/hi/world/asia-pacific/8447457.stm"&gt;KFC advertisement in Australia sparks race row &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
The Australian arm of the fast food chain Kentucky Fried Chicken has had to withdraw an advertisement after accusations of racial insensitivity.
&lt;/p&gt;
&lt;p&gt;[...]&lt;/p&gt;
&lt;p&gt;
When the advertisement reached America via the internet there were complaints.&lt;br /&gt;
It was accused of reinforcing a derogatory racial stereotype linking black people in the American deep south with a love of fried food.
&lt;/p&gt;
&lt;p&gt;
Picked up by the American media, the advertisement immediately stirred controversy, because it was alleged to have perpetuated the racial stereotype that black people eat a lot of fried chicken.
&lt;/p&gt;
&lt;p&gt;[...]&lt;/p&gt;
&lt;p&gt;
It is the second time in three months that something broadcast in Australia has caused a racial stir in America.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Dear America: the world does not revolve around you; please pipe down and shut the fuck up about things that don&amp;#8217;t concern you.  Kthx.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PZ-zi6jyHeY:PzIKKz-iDT0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PZ-zi6jyHeY:PzIKKz-iDT0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PZ-zi6jyHeY:PzIKKz-iDT0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PZ-zi6jyHeY:PzIKKz-iDT0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PZ-zi6jyHeY:PzIKKz-iDT0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=PZ-zi6jyHeY:PzIKKz-iDT0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=PZ-zi6jyHeY:PzIKKz-iDT0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2010/01/newsflash-america-not-centre-of-world/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2010/01/newsflash-america-not-centre-of-world/</feedburner:origLink></item>
		<item>
		<title>A little windy… Metcheck fail</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/DcasUX8VyGo/</link>
		<comments>http://blog.preshweb.co.uk/2009/12/a-little-windy-metcheck-fail/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 17:06:15 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[fail]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=573</guid>
		<description>&lt;p&gt;Hmm, &lt;a href="http://www.metcheck.com/"&gt;Metcheck&lt;/a&gt; seem to think it&amp;#8217;s going to get a little breezy next week:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/metcheck-a-bit-windy.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/metcheck-a-bit-windy-300x95.png" alt="metcheck-a-bit-windy" title="metcheck-a-bit-windy" width="300" height="95" class="alignnone size-medium wp-image-574" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Forecasting 305mph winds on Wednesday night?  That would be rather far off the wrong end of the &lt;a href="http://en.wikipedia.org/wiki/Beaufort_scale"&gt;Beaufort scale&lt;/a&gt;, and I don&amp;#8217;t think my fence would take kindly to that &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=DcasUX8VyGo:LAmWoEQMwAU:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=DcasUX8VyGo:LAmWoEQMwAU:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=DcasUX8VyGo:LAmWoEQMwAU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=DcasUX8VyGo:LAmWoEQMwAU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=DcasUX8VyGo:LAmWoEQMwAU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=DcasUX8VyGo:LAmWoEQMwAU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=DcasUX8VyGo:LAmWoEQMwAU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/12/a-little-windy-metcheck-fail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/12/a-little-windy-metcheck-fail/</feedburner:origLink></item>
		<item>
		<title>Blackberry Bold Christmas wallpapers (480×320)</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/e_1OJLqpjTM/</link>
		<comments>http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:50:15 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=553</guid>
		<description>&lt;p&gt;I recently upgraded from a Blackberrry Curve to a Blackberry Bold 9000, which has a higher screen resolution (480&amp;#215;320), so I decided to re-do the wallpapers I resized &amp;#038; cropped and shared last year, and figured I may as well share the results.&lt;/p&gt;
&lt;p&gt;Below are a selection of wallpapers I chose; some my own photos, the others are taken from various places around the web.  I believe them to all be in the public domain but unfortunately I&amp;#8217;m not certain, as I didn&amp;#8217;t think to note where each one was downloaded from.&lt;/p&gt;
&lt;p&gt;Each thumbnail links directly to the full-size 480&amp;#215;320 image, so you can just right-click &amp;#038; &amp;#8220;Save Target As&amp;#8221; or similar.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;

&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/916577_11564741/' title='blackberry-christmas-wallpaper-2'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/916577_11564741-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-2" title="blackberry-christmas-wallpaper-2" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/917286_25771451/' title='blackberry-christmas-wallpaper-3'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/917286_25771451-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-3" title="blackberry-christmas-wallpaper-3" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/916502_89069043-2/' title='blackberry-christmas-wallpaper-1'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/916502_890690431-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-1" title="blackberry-christmas-wallpaper-1" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/919071_29986175/' title='blackberry-christmas-wallpaper-4'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/919071_29986175-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-4" title="blackberry-christmas-wallpaper-4" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/921849_31908370/' title='blackberry-christmas-wallpaper-5'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/921849_31908370-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-5" title="blackberry-christmas-wallpaper-5" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/922205_76369101/' title='blackberry-christmas-wallpaper-6'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/922205_76369101-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-6" title="blackberry-christmas-wallpaper-6" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/922205_76369101_2/' title='blackberry-christmas-wallpaper-7'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/922205_76369101_2-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-7" title="blackberry-christmas-wallpaper-7" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/attachment/1420052252/' title='blackberry-christmas-wallpaper-9'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/1420052252-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-9" title="blackberry-christmas-wallpaper-9" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/dscf2763/' title='blackberry-christmas-wallpaper-8'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/dscf2763-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-8" title="blackberry-christmas-wallpaper-8" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/dscf2778/' title='blackberry-christmas-wallpaper-10'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/dscf2778-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-10" title="blackberry-christmas-wallpaper-10" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/dscf2786_2/' title='blackberry-christmas-wallpaper-12'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/dscf2786_2-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-12" title="blackberry-christmas-wallpaper-12" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/923121_97111622/' title='blackberry-christmas-wallpaper-13'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/923121_97111622-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-13" title="blackberry-christmas-wallpaper-13" /&gt;&lt;/a&gt;
&lt;a href='http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/923039_89320720/' title='blackberry-christmas-wallpaper-14'&gt;&lt;img width="150" height="150" src="http://blog.preshweb.co.uk/wp-content/uploads/2009/12/923039_89320720-150x150.jpg" class="attachment-thumbnail" alt="blackberry-christmas-wallpaper-14" title="blackberry-christmas-wallpaper-14" /&gt;&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=e_1OJLqpjTM:MjO0Z4GyqMg:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=e_1OJLqpjTM:MjO0Z4GyqMg:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=e_1OJLqpjTM:MjO0Z4GyqMg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=e_1OJLqpjTM:MjO0Z4GyqMg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=e_1OJLqpjTM:MjO0Z4GyqMg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=e_1OJLqpjTM:MjO0Z4GyqMg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=e_1OJLqpjTM:MjO0Z4GyqMg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/12/blackberry-bold-christmas-wallpapers/</feedburner:origLink></item>
		<item>
		<title>OpenDNS vs Google – speed comparison</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/Q5IsUygHxNk/</link>
		<comments>http://blog.preshweb.co.uk/2009/12/opendns-vs-google-speed-comparison/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:11:42 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=544</guid>
		<description>&lt;p&gt;I read a Twitter post earlier mentioning &lt;a href="http://code.google.com/speed/public-dns/docs/intro.html"&gt;Google&amp;#8217;s public DNS service&lt;/a&gt;, and suggesting that it could displace the popular &lt;a href="http://www.opendns.com/"&gt;OpenDNS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I thought it would be interesting to do a performance comparison between Google and OpenDNS, to see how they compare.  I also decided to include the nameservers of my ISP, Virgin Media, to illustrate whether there are performance gains to be had by changing to OpenDNS (which I primarily use, along with others) or Google, or whether staying with defaults works.&lt;!--more--&gt;&lt;/p&gt;
&lt;p&gt;Also, I included my local caching resolver (dnsmasq), to illustrate the gains of running a local caching resolver.&lt;/p&gt;
&lt;p&gt;I used a selection of popular domains, to allow the resolvers the advantage of most likely having cached results to return.&lt;/p&gt;
&lt;p&gt;The full results, ordered by fastest average response, were:&lt;/p&gt;
&lt;table border="1" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Average&lt;/th&gt;
&lt;th&gt;Best&lt;/th&gt;
&lt;th&gt;Worst&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;0.0070&lt;/td&gt;
&lt;td&gt;0.0037&lt;/td&gt;
&lt;td&gt;0.1255&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Virgin&lt;/td&gt;
&lt;td&gt;0.0174&lt;/td&gt;
&lt;td&gt;0.0101&lt;/td&gt;
&lt;td&gt;0.1197&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenDNS&lt;/td&gt;
&lt;td&gt;0.0216&lt;/td&gt;
&lt;td&gt;0.0132&lt;/td&gt;
&lt;td&gt;0.1100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;0.0335&lt;/td&gt;
&lt;td&gt;0.0254&lt;/td&gt;
&lt;td&gt;0.5210&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;It certainly illustrates that a local caching resolver is a worthwhile speed improvement, although we&amp;#8217;re talking fractions of a second &amp;#8211; it&amp;#8217;s not going to be hugely noticeable. OpenDNS outperformed Google but a small but significant margin too.&lt;/p&gt;
&lt;p&gt;I had actually expected Google/OpenDNS to outperform my ISP&amp;#8217;s own DNS resolvers, but, speed-wise, they beat both Google and OpenDNS &amp;#8211; I guess the ISP&amp;#8217;s resolvers have the advantage of being much closer network-wise.&lt;/p&gt;
&lt;p&gt;Of course, this doesn&amp;#8217;t take into account reliability at all, which is another important point to consider.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re interested, the script I used is included below:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="perl perl" style="font-family:monospace;"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#!/usr/bin/perl&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# $Id: dnstiming.pl 789 2009-12-03 19:06:51Z davidp $&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; common&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;sense&lt;/span&gt;;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; HTML&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Table&lt;/span&gt;;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; Time&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;HiRes&lt;/span&gt;;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; Net&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;DNS&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Resolver&lt;/span&gt;;
&lt;span style="color: #000000; font-weight: bold;"&gt;use&lt;/span&gt; List&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Util&lt;/span&gt;;
&amp;nbsp;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@hostnames&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;qw&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;
    www.google.com
    www.facebook.com
    www.bbc.co.uk
    www.myspace.com
    www.yahoo.com
    www.wikipedia.org
    www.debian.org
    www.youtube.com
    www.twitter.com
    www.imdb.com
    www.apple.com
&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;%providers&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;
    Google &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt;  &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style=""&gt;'8.8.8.8'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;        &lt;span style=""&gt;'8.8.4.4'&lt;/span&gt;        &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
    OpenDNS &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style=""&gt;'208.67.220.220'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style=""&gt;'208.67.222.222'&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
    Virgin  &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style=""&gt;'194.168.4.100'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;  &lt;span style=""&gt;'194.168.8.100'&lt;/span&gt;  &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
    Local   &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style=""&gt;'127.0.0.1'&lt;/span&gt;                        &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# Build up a hash of arrayrefs of durations, to average at the end&lt;/span&gt;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;%times&lt;/span&gt;;
&amp;nbsp;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# Now, for each provider, we'll try each hostname against each of their&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;# resolvers several times, to get more accurate figures.&lt;/span&gt;
&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;1..50&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
    &lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;keys&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;%providers&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
        &lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$server&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #339933;"&gt;@&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$providers&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
            &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$dns&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; Net&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;DNS&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Resolver&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;new&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt; nameservers &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$server&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
            &lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$hostname&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@hostnames&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
                &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$start&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; Time&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;HiRes&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;gettimeofday&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;;
                &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$result&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$dns&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;query&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$hostname&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
                &lt;span style="color: #000066;"&gt;push&lt;/span&gt; &lt;span style="color: #339933;"&gt;@&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$times&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; Time&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;HiRes&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;tv_interval&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$start&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
            &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
        &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
    &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span style="color: #666666; font-style: italic;"&gt;# Go through each provider and calculate best/worst/avg times:&lt;/span&gt;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@rows&lt;/span&gt;;
&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;keys&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;%providers&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
    &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@times&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #339933;"&gt;@&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$times&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;;
    &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$best&lt;/span&gt;  &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;sprintf&lt;/span&gt; &lt;span style=""&gt;'%.4f'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; List&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Util&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;min&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@times&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
    &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$worst&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;sprintf&lt;/span&gt; &lt;span style=""&gt;'%.4f'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; List&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Util&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;max&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@times&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
    &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$avg&lt;/span&gt;   &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000066;"&gt;sprintf&lt;/span&gt; &lt;span style=""&gt;'%.4f'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; List&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Util&lt;/span&gt;&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;sum&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@times&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;/&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@times&lt;/span&gt;;
    &lt;span style="color: #000066;"&gt;push&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@rows&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$provider&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$avg&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$best&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$worst&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$table&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; HTML&lt;span style="color: #339933;"&gt;::&lt;/span&gt;&lt;span style="color: #006600;"&gt;Table&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;new&lt;/span&gt;;
&lt;span style="color: #0000ff;"&gt;$table&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;addRow&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;qw&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt; Provider Average Best Worst &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #0000ff;"&gt;$table&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;setRowHead&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;my&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$row&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000066;"&gt;sort&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$a&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;&amp;lt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$b&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;@rows&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
    &lt;span style="color: #0000ff;"&gt;$table&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;addRow&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;@$row&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #0000ff;"&gt;$table&lt;/span&gt;&lt;span style="color: #339933;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #006600;"&gt;print&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Q5IsUygHxNk:8lLSUMAglTE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Q5IsUygHxNk:8lLSUMAglTE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Q5IsUygHxNk:8lLSUMAglTE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Q5IsUygHxNk:8lLSUMAglTE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Q5IsUygHxNk:8lLSUMAglTE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=Q5IsUygHxNk:8lLSUMAglTE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=Q5IsUygHxNk:8lLSUMAglTE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/12/opendns-vs-google-speed-comparison/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/12/opendns-vs-google-speed-comparison/</feedburner:origLink></item>
		<item>
		<title>Microsoft store product identification fail</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/5pVkyYIm1Ew/</link>
		<comments>http://blog.preshweb.co.uk/2009/11/microsoft-store-product-identification-fail/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 22:03:41 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[fail]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=541</guid>
		<description>&lt;p&gt;I was glancing at the &lt;a href="http://store.microsoft.com/microsoft/Natural-Ergonomic-Keyboard-4000/product/2341D914"&gt;Microsoft Natural Ergonomic Keyboard 4000&lt;/a&gt; page on the Microsoft store site to show a picture of my new keyboard to a friend (hardware being the one thing Microsoft actualy do well, and spotted the following at the bottom:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2009/11/lifechatfail.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2009/11/lifechatfail.png" alt="lifechatfail" title="lifechatfail" width="315" height="383" class="alignnone size-full wp-image-542" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(In case you miss the FAIL, the &amp;#8220;&lt;a href="http://www.microsoft.com/hardware/digitalcommunication/productdetails.aspx?pid=006"&gt;Life Chat LX-3000&lt;/a&gt;&amp;#8221; is a stereo headset, not a keyboard as pictured).&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=5pVkyYIm1Ew:jsFdqORjwqQ:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=5pVkyYIm1Ew:jsFdqORjwqQ:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=5pVkyYIm1Ew:jsFdqORjwqQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=5pVkyYIm1Ew:jsFdqORjwqQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=5pVkyYIm1Ew:jsFdqORjwqQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=5pVkyYIm1Ew:jsFdqORjwqQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=5pVkyYIm1Ew:jsFdqORjwqQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/11/microsoft-store-product-identification-fail/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/11/microsoft-store-product-identification-fail/</feedburner:origLink></item>
		<item>
		<title>*Could be* cattle-class?  Bwahaha…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/cvNHeh5qVd4/</link>
		<comments>http://blog.preshweb.co.uk/2009/10/could-be-cattle-class-bwahaha/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:55:44 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=539</guid>
		<description>&lt;p&gt;Hah.  &amp;#8220;&lt;a href="http://news.bbc.co.uk/1/hi/england/london/8327339.stm"&gt;Tube passengers may face &amp;#8220;cattle-class&amp;#8221; conditions if improvements to the London Underground are delayed or scrapped, a business group has warned.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Um &amp;#8211; they already are cattle-class, at best, during rush hour.  How the hell could it get any worse?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=cvNHeh5qVd4:lC1RJned2bE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=cvNHeh5qVd4:lC1RJned2bE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=cvNHeh5qVd4:lC1RJned2bE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=cvNHeh5qVd4:lC1RJned2bE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=cvNHeh5qVd4:lC1RJned2bE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=cvNHeh5qVd4:lC1RJned2bE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=cvNHeh5qVd4:lC1RJned2bE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/10/could-be-cattle-class-bwahaha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/10/could-be-cattle-class-bwahaha/</feedburner:origLink></item>
		<item>
		<title>SSH and rsync on Lacie Ethernet Disk Mini v2</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/toWOLMasTCk/</link>
		<comments>http://blog.preshweb.co.uk/2009/10/ssh-and-rsync-on-lacie-ethernet-disk-mini-v2/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:06:59 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=528</guid>
		<description>&lt;p&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B000LRIXF6?ie=UTF8&amp;#038;tag=preshweb-21&amp;#038;linkCode=as2&amp;#038;camp=1634&amp;#038;creative=19450&amp;#038;creativeASIN=B000LRIXF6"&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2009/10/31tVpipGzzL._SL160_.jpg" alt="Lacie Ethernet Disk Mini v2" title="Lacie Ethernet Disk Mini v2" width="106" height="160" class="size-full wp-image-531" align="right" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A couple of months back, I acquired a &lt;a href="http://www.amazon.co.uk/gp/product/B000LRIXF6?ie=UTF8&amp;#038;tag=preshweb-21&amp;#038;linkCode=as2&amp;#038;camp=1634&amp;#038;creative=19450&amp;#038;creativeASIN=B000LRIXF6"&gt;Lacie Ethernet Disk Mini v2&lt;/a&gt; for backups &amp;#8211; I&amp;#8217;m planning to give it to a friend to plug in, so I&amp;#8217;ll have a little self-contained box to back up to.&lt;/p&gt;
&lt;p&gt;The drive is a pretty stylish-looking and very solid-feeling device.&lt;/p&gt;
&lt;p&gt;However, it comes with rather limited software &amp;#8211; a rather poor and ugly web interface (even worse when you see the code behind it), and it supports Samba (SMB/CIFS) shares, FTP, some kind of Apple file sharing protocol, and uPnP media streaming.&lt;/p&gt;
&lt;p&gt;Ignoring all that though, what I want is the ability to back up to it by rsync &amp;#8211; something it doesn&amp;#8217;t support, out of the box.  However, it&amp;#8217;s an ARM-powered unit running Linux underneath, so with a little trickery, you can make it much more functional.&lt;br /&gt;
&lt;!-- more --&gt;&lt;br /&gt;
There are several guides on uncrippling it to get SSH access to make proper use of it &amp;#8211; I followed &lt;a href="http://www.psykocybernetik.com/blog/?q=content/add-ssh-lacie-edmini-v2"&gt;this one&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Basically, the process consists of opening up the device, and temporarily hooking up the hard drive directly to your computer in order to add a telnet binary and a backdoor to the web interface.  I used a little &lt;a href="http://www.ebuyer.com/product/136214"&gt;USB to SATA/IDE adaptor&lt;/a&gt; I bought from eBuyer, meaning I could hook it up happily to my laptop, and didn&amp;#8217;t have to remove the drive from the Lacie unit, simply removing the outer case and unplugging the cables from the drive and plugging in the ones from the USB unit.&lt;/p&gt;
&lt;p&gt;See the guide linked to above for the full process, but you basically drop in a shell script which you can call via its web interface once it&amp;#8217;s back up to execute whatever you want.  The webserver on it runs at root (ugh) so it can start whatever you want it to.  Typically, you&amp;#8217;ll start &lt;tt&gt;utelnetd&lt;/tt&gt; so that you can then telnet to it, &lt;a href="http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/"&gt;download some ARM packages&lt;/a&gt; to install OpenSSH, rsync and other bits, get SSH working, then disable telnet, the horrible web interface, and anything else you don&amp;#8217;t plan to use (I disabled proftpd, Samba, and the uPnP media sharing software).&lt;/p&gt;
&lt;p&gt;Once it&amp;#8217;s all done, you have a small but usable Linux system you can SSH to:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2009/10/lacienas1.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2009/10/lacienas1.png" alt="lacienas1" title="lacienas1" width="423" height="192" class="alignnone size-full wp-image-535" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Naturally it&amp;#8217;s not super-fast, but it does the job well enough!&lt;/p&gt;
&lt;p&gt;A few tech specs, for anyone interested:&lt;/p&gt;
&lt;pre&gt;
davidp@EDmini davidp $ cat /proc/cpuinfo
Processor	: ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS	: 266.24
Features	: swp half thumb fastmult
CPU implementer	: 0x41
CPU architecture: 5TEJ
CPU variant	: 0x0
CPU part	: 0x926
CPU revision	: 0
Cache type	: write-back
Cache clean	: cp15 c7 ops
Cache lockdown	: format C
Cache format	: Harvard
I size		: 32768
I assoc		: 1
I line length	: 32
I sets		: 1024
D size		: 32768
D assoc		: 1
D line length	: 32
D sets		: 1024

Hardware	: MV-88fxx81
Revision	: 0000
Serial		: 0000000000000000
davidp@EDmini davidp $ cat /proc/meminfo
MemTotal:        61632 kB
MemFree:          1380 kB
Buffers:           188 kB
Cached:          28924 kB
SwapCached:          0 kB
Active:          17336 kB
Inactive:        23328 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        61632 kB
LowFree:          1380 kB
SwapTotal:      128448 kB
SwapFree:       128448 kB
Dirty:            3472 kB
Writeback:           0 kB
Mapped:          14548 kB
Slab:            16688 kB
CommitLimit:    159264 kB
Committed_AS:    56104 kB
PageTables:        508 kB
VmallocTotal:   450560 kB
VmallocUsed:       716 kB
VmallocChunk:   449844 kB
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=toWOLMasTCk:xTfHlsz3Aoc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=toWOLMasTCk:xTfHlsz3Aoc:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=toWOLMasTCk:xTfHlsz3Aoc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=toWOLMasTCk:xTfHlsz3Aoc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=toWOLMasTCk:xTfHlsz3Aoc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=toWOLMasTCk:xTfHlsz3Aoc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=toWOLMasTCk:xTfHlsz3Aoc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/10/ssh-and-rsync-on-lacie-ethernet-disk-mini-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/10/ssh-and-rsync-on-lacie-ethernet-disk-mini-v2/</feedburner:origLink></item>
		<item>
		<title>“White-label” Nominet tag?  Not quite…</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/gJiU-6s2gSU/</link>
		<comments>http://blog.preshweb.co.uk/2009/10/white-label-nominet-tag-not-quite/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 14:54:56 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=525</guid>
		<description>&lt;p&gt;I still receive occasional newsletters from Heart Internet, after trying out their free web hosting a long time ago (actually, I seem to recall it being a plan to mirror some content there, and never actually getting round to it).&lt;/p&gt;
&lt;p&gt;Anyway, their latest newsletter sings the praises of their new &amp;#8220;generic Nominet TAG&amp;#8221;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Previously,  because of Nominet&amp;#8217;s rules surrounding the registration of .uk domain names, we have had to register our reseller&amp;#8217;s domain  names through our Nominet tag, HEARTINTERNET, thus potentially exposing ourselves to reseller&amp;#8217;s clients. Not any longer!  We have now added an additional Nominet tag to our control panel for our resellers to use called EXTEND. This allows all our resellers to register domain  names  or transfer domain names through a generic tag, helping maintain their brand&amp;#8217;s integrity.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I&amp;#8217;m not exactly sure how this is helpful &amp;#8211; instead of your clients seeing HEARTINTERNET they see EXTEND; it&amp;#8217;s still not your brand, and &lt;a href="http://www.nominet.org.uk/registrars/becomeregistrar/taglist/"&gt;Nominet&amp;#8217;s tag list page&lt;/a&gt; still clearly identifies the tag as belonging to &amp;#8220;Heart Internet Ltd t/a eXtend&amp;#8221;.&lt;/p&gt;
&lt;p&gt;(I was however amused by the wording of &amp;#8220;potentially exposing ourselves to reseller&amp;#8217;s clients&amp;#8221; &amp;#8211; that&amp;#8217;s probably something best avoided! &lt;img src='http://blog.preshweb.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;  )&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=gJiU-6s2gSU:AJDwz5W_x58:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=gJiU-6s2gSU:AJDwz5W_x58:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=gJiU-6s2gSU:AJDwz5W_x58:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=gJiU-6s2gSU:AJDwz5W_x58:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=gJiU-6s2gSU:AJDwz5W_x58:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=gJiU-6s2gSU:AJDwz5W_x58:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=gJiU-6s2gSU:AJDwz5W_x58:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/10/white-label-nominet-tag-not-quite/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/10/white-label-nominet-tag-not-quite/</feedburner:origLink></item>
		<item>
		<title>Looking for Christmas Blackberry wallpapers *already*?</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/7FVLbfz3HSk/</link>
		<comments>http://blog.preshweb.co.uk/2009/10/looking-for-christmas-blackberry-wallpapers-already/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 12:25:36 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=523</guid>
		<description>&lt;p&gt;Someone came to my blog yesterday whilst searching for &lt;tt&gt;christmas blackberry wallpaper&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Christmas wallpapers, already?  Sheesh, we&amp;#8217;re not even half way through October yet, FFS.  Why do Christmas preparations seem to get earlier and earlier every year?&lt;/p&gt;
&lt;p&gt;Anyway, since apparently someone is looking, I &lt;a href="http://blog.preshweb.co.uk/2008/12/christmas-blackberry-wallpaper/"&gt;posted one last year&lt;/a&gt; &amp;#8211; maybe I&amp;#8217;ll get round to making some more this year, nearer Christmas!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=7FVLbfz3HSk:5EWnZEw278o:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=7FVLbfz3HSk:5EWnZEw278o:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=7FVLbfz3HSk:5EWnZEw278o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=7FVLbfz3HSk:5EWnZEw278o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=7FVLbfz3HSk:5EWnZEw278o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=7FVLbfz3HSk:5EWnZEw278o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=7FVLbfz3HSk:5EWnZEw278o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/10/looking-for-christmas-blackberry-wallpapers-already/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/10/looking-for-christmas-blackberry-wallpapers-already/</feedburner:origLink></item>
		<item>
		<title>Jack Thompson is a fucking idiot</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/X4CGJSGYmeE/</link>
		<comments>http://blog.preshweb.co.uk/2009/10/jack-thompson-is-a-fucking-idiot/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 11:20:52 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[law]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=517</guid>
		<description>&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Jack_Thompson_(activist)"&gt;Jack Thompson&lt;/a&gt;, the muppet who made money-grabbing attempts to &lt;a href="&lt;br /&gt;
http://www.theregister.co.uk/2003/09/25/100m_grand_theft_auto_lawsuit/"&gt;sue game producers for producing adult games&lt;/a&gt; has now decided to &lt;a href="http://www.theregister.co.uk/2009/10/01/jack_thompson_sues_facebook/"&gt;attempt to sue Facebook&lt;/a&gt; as he&amp;#8217;s unhappy they haven&amp;#8217;t immediately defended him from gamers speaking their mind on his stupid, money-grabbing antics.&lt;/p&gt;
&lt;p&gt;Facebook groups he objects to include ones like:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.preshweb.co.uk/wp-content/uploads/2009/10/jackthompsonsmackedatari2.png" rel='lightbox'&gt;&lt;img src="http://blog.preshweb.co.uk/wp-content/uploads/2009/10/jackthompsonsmackedatari2.png" alt="Jack Thompson should be smacked across the face with an Atari 2600" title="jackthompsonsmackedatari2" width="526" height="84" class="size-full wp-image-518" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Muppet.&lt;/p&gt;
&lt;p&gt;Edit: I should add that this guy was permanently disbarred by the Florida Supreme Court after it ruled he &amp;#8220;abused the legal system by submitting numerous, frivolous and inappropriate filings.&amp;#8221;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=X4CGJSGYmeE:DaFj_EOtpX8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=X4CGJSGYmeE:DaFj_EOtpX8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=X4CGJSGYmeE:DaFj_EOtpX8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=X4CGJSGYmeE:DaFj_EOtpX8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=X4CGJSGYmeE:DaFj_EOtpX8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=X4CGJSGYmeE:DaFj_EOtpX8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=X4CGJSGYmeE:DaFj_EOtpX8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/10/jack-thompson-is-a-fucking-idiot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/10/jack-thompson-is-a-fucking-idiot/</feedburner:origLink></item>
		<item>
		<title>Configure CPAN.pm to use sudo to install</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/mujAt_uoZzI/</link>
		<comments>http://blog.preshweb.co.uk/2009/09/configure-cpan-pm-to-use-sudo-to-install/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 11:13:51 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=515</guid>
		<description>&lt;p&gt;I prefer to run CPAN.pm as a normal user and have it use sudo just for the actual installation, rather than running tests etc as root.&lt;/p&gt;
&lt;p&gt;I have an annoying habit of forgetting the option names , so I&amp;#8217;m posting this here for my reference, but might be useful for other people too.&lt;/p&gt;
&lt;p&gt;To do that, do the following from a CPAN shell:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
o conf make_install_make_command 'sudo make'&lt;br /&gt;
o conf mbuild_install_build_command 'sudo ./Build'&lt;br /&gt;
o conf commit&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Also, whilst documenting that, to set your preferred CPAN mirror:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
o conf urllist unshift ftp://mirrors.uk2.net/pub/CPAN/&lt;br /&gt;
o conf commit&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=mujAt_uoZzI:ebc9TPviwiM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=mujAt_uoZzI:ebc9TPviwiM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=mujAt_uoZzI:ebc9TPviwiM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=mujAt_uoZzI:ebc9TPviwiM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=mujAt_uoZzI:ebc9TPviwiM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=mujAt_uoZzI:ebc9TPviwiM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=mujAt_uoZzI:ebc9TPviwiM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/09/configure-cpan-pm-to-use-sudo-to-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/09/configure-cpan-pm-to-use-sudo-to-install/</feedburner:origLink></item>
		<item>
		<title>New Jabber/XMPP account</title>
		<link>http://feeds.preshweb.co.uk/~r/preshblog/~3/z7aJ2wuFPr8/</link>
		<comments>http://blog.preshweb.co.uk/2009/09/new-jabberxmpp-account/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 15:51:03 +0000</pubDate>
		<dc:creator>bigpresh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.preshweb.co.uk/?p=513</guid>
		<description>&lt;p&gt;I&amp;#8217;ve been meaning to do it for ages, but Google&amp;#8217;s (admittedly brief) downtime yesterday pushed me enough to actually do it &amp;#8211; I&amp;#8217;ve set up my own Jabber server, so my new Jabber ID is davidp@preshweb.co.uk &amp;#8211; feel free to add me.  I won&amp;#8217;t be monitoring my old Google Talk account as much.&lt;/p&gt;
&lt;p&gt;Now I just need a decent, capable Jabber/XMPP client for my Blackberry!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=z7aJ2wuFPr8:O2bc5WaEa20:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=z7aJ2wuFPr8:O2bc5WaEa20:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=z7aJ2wuFPr8:O2bc5WaEa20:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=z7aJ2wuFPr8:O2bc5WaEa20:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=z7aJ2wuFPr8:O2bc5WaEa20:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?i=z7aJ2wuFPr8:O2bc5WaEa20:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.preshweb.co.uk/~ff/preshblog?a=z7aJ2wuFPr8:O2bc5WaEa20:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/preshblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<wfw:commentRss>http://blog.preshweb.co.uk/2009/09/new-jabberxmpp-account/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.preshweb.co.uk/2009/09/new-jabberxmpp-account/</feedburner:origLink></item>
	</channel>
</rss>
