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

<channel>
	<title>John Leach's Blog</title>
	<atom:link href="http://johnleach.co.uk/words/feed" rel="self" type="application/rss+xml" />
	<link>http://johnleach.co.uk/words</link>
	<description>Stuff I think, see and do</description>
	<pubDate>Mon, 10 Nov 2008 16:57:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Virtualized Storage Talk at WYLUG</title>
		<link>http://johnleach.co.uk/words/archives/2008/11/10/325/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/11/10/325/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 16:47:32 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=325</guid>
		<description><![CDATA[I&#8217;m doing a talk tonight about virtualizing your storage with LVM on Linux at the West Yorkshire Linux User Group.  Sorry about the short notice here (it was announced earlier in the week elsewhere though).
My mate Paul Brook is talking about RAID on Linux too.
Come along for the talk, or the beer, or the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m doing a talk tonight about virtualizing your storage with LVM on Linux at the <a href="http://www.wylug.org.uk/2008/11/wylug-monthly-meeting-monday-10th-november-2008/">West Yorkshire Linux User Group</a>.  Sorry about the short notice here (it was announced earlier in the week elsewhere though).</p>
<p>My mate Paul Brook is talking about RAID on Linux too.</p>
<p>Come along for the talk, or the beer, or the socialising - or all three.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/11/10/325/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Halloween Pumpkin Carving</title>
		<link>http://johnleach.co.uk/words/archives/2008/10/31/324/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/10/31/324/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 19:56:25 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Personal]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=324</guid>
		<description><![CDATA[
Small pumpkin I carved today, with a carrot for a nose.  It seems that I missed all the trick or treaters though.  More chocolate for me and Louisa then.
Louisa is cooking a lovely smelling soup with the innards from him.  A couple more photos here.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/johnleach/2990070828/in/photostream/"><img src="http://farm4.static.flickr.com/3295/2990070828_91a8c702a9.jpg" title="My Halloween Pumpkin"/></a></p>
<p>Small pumpkin I carved today, with a carrot for a nose.  It seems that I missed all the trick or treaters though.  More chocolate for me and Louisa then.</p>
<p>Louisa is cooking a lovely smelling soup with the innards from him.  <a href="http://www.flickr.com/photos/johnleach/2990070828/in/photostream/">A couple more photos here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/10/31/324/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Git submodules in N easy steps</title>
		<link>http://johnleach.co.uk/words/archives/2008/10/12/323/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/10/12/323/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 14:41:47 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=323</guid>
		<description><![CDATA[Git has something called submodule support.  This allows you to specify one or more other git repositories within another - a bit like svn:externals (except trickier, but more powerful of course :).
The git user manual describes submodules but it took me a while to figure it out, so I&#8217;m hoping these examples will help [...]]]></description>
			<content:encoded><![CDATA[<p>Git has something called submodule support.  This allows you to specify one or more other git repositories within another - a bit like svn:externals (except trickier, but more powerful of course :).</p>
<p>The <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules" title="Submodules on the GIT user manual">git user manual</a> describes submodules but it took me a while to figure it out, so I&#8217;m hoping these examples will help others (and me again when I forget and find my own page when googling about it :)</p>
<p>These examples deal with <code>your_project</code> and the project you&#8217;ll be adding as a submodule, <code>other_project</code></p>
<p><span id="more-323"></span></p>
<h2>Adding a submodule to your_project</h2>
<pre><code>$ git submodule add git@git.example.com:other_project.git other_project
Initialized empty Git repository in /home/john/dev/your_project/other_project/.git/
remote: Counting objects: 59, done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 59 (delta 22), reused 0 (delta 0)
Receiving objects: 100% (59/59), 8.33 KiB, done.
Resolving deltas: 100% (22/22), done.
</code></pre>
<p>This clones <code>other_project</code> and sets up the <code>.gitmodules</code> config to <code>your_project</code> and adds them both ready to be committed.  You&#8217;ll notice that the <code>other_project</code> directory is added, not all the files within.  Git just records the commit id from the <code>other_project</code> repository and uses that when cloning - a bit like a tag.</p>
<pre><code>$ git status
#	new file: .gitmodules
#	new file: other_project
</code></pre>
<p>So now commit those changes:</p>
<pre><code>$ git commit .gitmodules other_project -m "Added other_project submodule"
$ git push
</code></pre>
<h2>Cloning a tree with submodules</h2>
<p>Git doesn&#8217;t automatically fetch all your submodules, so you need to do the following after cloning your tree:</p>
<pre><code>$ git submodule init
Submodule 'other_project' (git@git.example.com:other_project.git) registered for path 'other_project'

$ git submodule update
Initialized empty Git repository in /home/john/dev/your_project/other_project/.git/
remote: Counting objects: 59, done.
Receiving objects: 100% (59/59), 8.33 KiB, done.bjects:  91% (54/59)
Resolving deltas: 100% (22/22), done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 59 (delta 22), reused 0 (delta 0)
Submodule path 'other_project': checked out '6d5ca374208715501832eb33ed6a70022a3bb60c'
</code></pre>
<h2>Updating a submodule</h2>
<p>So somebody pushed some updates to <code>other_project</code> and you want them in <code>your_project</code>:</p>
<pre><code>$ cd other_project
$ git pull origin master
Updating 6d5ca37..235996d
Fast forward
 5 files changed, 100 insertions(+), 10 deletions(-)
$ cd ..
$ git add other_project
$ git commit otherproject -m " Updated other_project submodule to latest HEAD"
</code></pre>
<p>If you want a particular commit rather than the head of master, then just specify that commit id on pull (instead of master).  If you want the head of a particular branch then specify that branch name instead of master.</p>
<p>It is important <strong>not to have a trailing slash</strong> when you add <code>other_project</code> as this will treat it as a normal directory, adding all the files within it to <code>your_project</code> and forgetting about it&#8217;s submodule status</p>
<h2>Making changes to a submodule within your_project</h2>
<p>To make changes to <code>other_project</code> within <code>your_project</code> tree, you need to explicitly checkout a branch first:</p>
<pre><code>$ cd other_project
$ git checkout master
...make your changes...
$ git commit -a -m "Fixed a bug"
$ git push
$ cd ..
$ git add other_project
$ git commit -m "Updated other_project"
</code></pre>
<p>You need to remember to push changes to <code>other_project</code> before you push <code>your_project</code> else others won&#8217;t be able to clone <code>your_project</code> properly as it will reference commits to <code>other_project</code> that haven&#8217;t been published yet!</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/10/12/323/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Smash Smashing Smashed</title>
		<link>http://johnleach.co.uk/words/archives/2008/10/01/322/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/10/01/322/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 22:52:39 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Photoblog]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=322</guid>
		<description><![CDATA[
Louisa and I randomly came across this demolition in Armley back in July, 2007.  I happened to have my big camera with me.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/johnleach/2906030804/" title="Smashed it by John Leach, on Flickr"><img src="http://farm4.static.flickr.com/3207/2906030804_0a9cf16211.jpg" width="500" height="333" alt="Smashed it" /></a></p>
<p>Louisa and I randomly came across this demolition in Armley back in July, 2007.  I happened to have my big camera with me.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/10/01/322/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UK Spam laws largely useless</title>
		<link>http://johnleach.co.uk/words/archives/2008/09/25/321/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/09/25/321/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 10:33:37 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=321</guid>
		<description><![CDATA[I&#8217;m getting some spam from some UK companies to a personal email address.  I called and spoke to one of them and they said it won&#8217;t happen again but it continues to do so.  I looked into complaining officially, under the new regulations that make the EC&#8217;s Directive on Privacy and Electronic Communications [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m getting some spam from some UK companies to a personal email address.  I called and spoke to one of them and they said it won&#8217;t happen again but it continues to do so.  I looked into complaining officially, under the new regulations that make the EC&#8217;s Directive on Privacy and Electronic Communications law in the UK.</p>
<p>Under the new law, spammers can be fined £5,000 in a magistrates court or an unlimited penalty from a jury.</p>
<p>Yet it appears it is really up to me to pursue charges through the courts.  The <a href="http://www.ico.gov.uk/Home/complaints/privacy_and_electronic_communications.aspx">Information Commissioners Office</a>, who enforce the new regulations, appear largely neutered (as predicted):</p>
<blockquote><p>If my complaint is upheld, will the organisation be punished?</p>
<p>If we think the organisation has breached the regulations, we can ask them to put things right,  but we cannot punish them for breaking the law.</p>
<p>If my complaint is upheld, will I be entitled to compensation?</p>
<p>We have no powers to award compensation . If you have suffered a loss because an organisation or individual has broken the law, you may be entitled to compensation, but you must claim this through the courts.</p>
<p>The right to compensation applies even if you don’t report the problem to us. You can make a claim to the court whether or not we have agreed that the law has been broken.
</p></blockquote>
<p>No doubt this will cost a lot of my time and money. We should build a simple kit, with some form letters and instructions on pursuing compensation.</p>
<p>Or just take enforcement into our own hands and report them to something like <a href="http://www.spamhaus.org">Spamhaus</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/09/25/321/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ukepedia: Wikipedia on the Ukelele</title>
		<link>http://johnleach.co.uk/words/archives/2008/08/16/319/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/08/16/319/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 16:28:17 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Music]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=319</guid>
		<description><![CDATA[Ukepedia is a new project by me and Louisa. Long story short: Ukepedia is Wikipedia articles performed on the Ukelele (or Ukulele if you prefer).  The long story isn&#8217;t actually much longer than that.
Here is a video of me performing the Wikipedia article &#8220;Otitis Media&#8221; (which I also performed live at The Chemic Tavern [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://johnleach.co.uk/words/wp-content/uploads/2008/08/ukulele1.png" alt="" title="Photo of a Ukulele" width="111" height="200" class="alignnone size-full wp-image-320" /></a><a href="http://www.ukepedia.com">Ukepedia</a> is a new project by me and <a href="http://www.louisaparry.co.uk">Louisa</a>. Long story short: Ukepedia is <a href="http://www.wikipedia.org">Wikipedia</a> articles performed on the <a href="http://en.wikipedia.org/wiki/Ukulele">Ukelele</a> (or Ukulele if you prefer).  The long story isn&#8217;t actually much longer than that.</p>
<p>Here is <a href="http://www.ukepedia.com/blog/2008/08/otitis-media/">a video of me performing the Wikipedia article &#8220;Otitis Media&#8221;</a> (which I also performed live at The Chemic Tavern on Thursday and at Bar Camp Leeds just today).</p>
<p>Record your own, upload them to You Tube and <a href="http://www.ukepedia.com/blog/get-involved/">submit them to us</a>!<a href='http://johnleach.co.uk/words/wp-content/uploads/2008/08/ukulele1.png'></p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/08/16/319/feed/</wfw:commentRss>
		</item>
		<item>
		<title>James Reynolds of the BBC comes clean</title>
		<link>http://johnleach.co.uk/words/archives/2008/08/13/318/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/08/13/318/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 09:42:56 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Politics]]></category>

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

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

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

		<category><![CDATA[status quo]]></category>

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=318</guid>
		<description><![CDATA[Admitting it for all to see on his BBC blog. Very brave of him:
Past horrors and mistakes do not seem to have weakened a servile belief in the ultimate benevolence of the state and a willingness to grant it unlimited powers.
In this country, if you start to blame the system itself - and the men [...]]]></description>
			<content:encoded><![CDATA[<p>Admitting it for all to see on his <a href="http://www.bbc.co.uk/blogs/thereporters/jamesreynolds/2008/07/the_benevolent_emperor.html">BBC blog</a>. Very brave of him:</p>
<blockquote><p>Past horrors and mistakes do not seem to have weakened a servile belief in the ultimate benevolence of the state and a willingness to grant it unlimited powers.</p></blockquote>
<blockquote><p>In this country, if you start to blame the system itself - and the men right at the top - you tend to get into all kinds of trouble.</p></blockquote>
<p>Unsurprisingly though, he&#8217;s talking about China and not the USA or the United Kingdom.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/08/13/318/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello world, Debian style</title>
		<link>http://johnleach.co.uk/words/archives/2008/07/14/317/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/07/14/317/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 20:20:33 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

		<category><![CDATA[hello world]]></category>

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=317</guid>
		<description><![CDATA[
# apt-get install hello

# hello
Hello, world!

# hello --help
Usage: hello [OPTION]&#8230;
Print a friendly, customisable greeting.

  -h, &#8211;help display this help and exit
  -v, &#8211;version display version information and exit

  -t, &#8211;traditional       use traditional greeting format
  -n, &#8211;next-generation   use next-generation greeting format
  -g, &#8211;greeting=TEXT [...]]]></description>
			<content:encoded><![CDATA[<pre><code>
# apt-get install hello

# hello
Hello, world!

# hello --help
Usage: hello [OPTION]&#8230;
Print a friendly, customisable greeting.

  -h, &#8211;help display this help and exit
  -v, &#8211;version display version information and exit

  -t, &#8211;traditional       use traditional greeting format
  -n, &#8211;next-generation   use next-generation greeting format
  -g, &#8211;greeting=TEXT     use TEXT as the greeting message
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/07/14/317/feed/</wfw:commentRss>
		</item>
		<item>
		<title>£5/month for your digitial civil liberties</title>
		<link>http://johnleach.co.uk/words/archives/2008/07/11/316/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/07/11/316/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 18:54:02 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Politics]]></category>

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

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

		<category><![CDATA[creative commons]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=316</guid>
		<description><![CDATA[
The Open Rights Group are a UK based organisation fighting for our civil liberties in the digital age.  DRM, e-voting, copyright term extensions, FOI, net neutrality, privacy, RIPA, creative commons etc.etc.etc.etc.etc. They&#8217;re like an English EFF.
They have a tiny staff and many other volunteers who are extremely dedicated to the cause and are working [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://johnleach.co.uk/words/wp-content/org-logo.png"><img class="alignnone size-full wp-image-286" title="Open Rights Group logo" src="http://johnleach.co.uk/words/wp-content/org-logo.png" alt="" width="300" height="45" /></a></p>
<p>The <a href="http://www.openrightsgroup.org">Open Rights Group</a> are a UK based organisation fighting for our civil liberties in the digital age.  DRM, e-voting, copyright term extensions, FOI, net neutrality, privacy, RIPA, creative commons etc.etc.etc.etc.etc. They&#8217;re like an English <a href="http://www.eff.org/">EFF</a>.</p>
<p>They have a tiny staff and many other volunteers who are extremely dedicated to the cause and are working very hard for our freedoms.  They are funded entirely by donations which pays for the staff, an office and expenses of running campaigns and pestering politicians.  They&#8217;re <a href="http://www.openrightsgroup.org/2008/07/07/growing-the-org-community-and-having-fun-doing-it/">currently hoping to push their income up so things are more sustainable</a>.</p>
<p>So, <a href="http://www.openrightsgroup.org/support-org/">please sign up and give them some money every month</a>. Anything from £5 upwards would be super. If you use computers for pretty much anything, it will make your life better - or at least prevent it getting any worse.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/07/11/316/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MoinMoin wiki on NGINX</title>
		<link>http://johnleach.co.uk/words/archives/2008/06/29/315/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/06/29/315/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 15:23:54 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=315</guid>
		<description><![CDATA[Further to my post about getting the MoinMoin wiki system working with FastCGI and Lighttpd, here is how to do the same with NGINX.  MoinMoin is configured in FastCGI mode and listening on port 9005
All the fastcgi_param lines up to PATH_INFO are pretty generic and I have them in a separate include file that [...]]]></description>
			<content:encoded><![CDATA[<p>Further to my post about getting the <a href="http://johnleach.co.uk/words/archives/2007/07/29/275/">MoinMoin wiki system working with FastCGI and Lighttpd</a>, here is how to do the same with <a href="http://nginx.net/">NGINX</a>.  <a href="http://moinmo.in/">MoinMoin</a> is configured in FastCGI mode and listening on port 9005</p>
<p>All the <code>fastcgi_param</code> lines up to <code>PATH_INFO</code> are pretty generic and I have them in a separate include file that I pull in for any Fastcgi stanza.</p>
<pre><code>

  if ($uri ~ ^/wiki(.*)?) {
    set $wiki_url $1;
  }
  location /wiki {
      fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
      fastcgi_param  SERVER_SOFTWARE    nginx;
      fastcgi_param  QUERY_STRING       $query_string;
      fastcgi_param  REQUEST_METHOD     $request_method;
      fastcgi_param  CONTENT_TYPE       $content_type;
      fastcgi_param  CONTENT_LENGTH     $content_length;
      fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
      fastcgi_param  REQUEST_URI        $request_uri;
      fastcgi_param  DOCUMENT_URI       $document_uri;
      fastcgi_param  DOCUMENT_ROOT      $document_root;
      fastcgi_param  SERVER_PROTOCOL    $server_protocol;
      fastcgi_param  REMOTE_ADDR        $remote_addr;
      fastcgi_param  REMOTE_PORT        $remote_port;
      fastcgi_param  SERVER_ADDR        $server_addr;
      fastcgi_param  SERVER_PORT        $server_port;
      fastcgi_param  SERVER_NAME        $server_name;

      fastcgi_param PATH_INFO $wiki_url;
      fastcgi_param SCRIPT_NAME /wiki;
      if (!-f $request_filename) {
        fastcgi_pass 127.0.0.1:9005;
      }
  }

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/06/29/315/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Corrupted filesystem recovery dry-run with LVM snapshots</title>
		<link>http://johnleach.co.uk/words/archives/2008/06/05/313/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/06/05/313/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 12:59:02 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=313</guid>
		<description><![CDATA[I have a corrupt Reiser filesystem that needs a tree rebuild on it, which can be a scary thing to do (and is only advised when you *really* do need to do it which, unfortunately, I do).
Now, this filesystem largely works, there is just a small part of it that causes problems when accessed. A [...]]]></description>
			<content:encoded><![CDATA[<p>I have a corrupt Reiser filesystem that needs a tree rebuild on it, which can be a scary thing to do (and is only advised when you *really* do need to do it which, unfortunately, I do).</p>
<p>Now, this filesystem largely works, there is just a small part of it that causes problems when accessed. A rebuild could make things a lot worse, or it might just solve my problem (note: my problem appears NOT to be due to hardware failure. rebuilding the tree of a Reiser filesystem on hardware that has badsectors or whatever is VERY likely to make things worse. don&#8217;t do it).</p>
<p>So, I&#8217;m currently using the filesystem and avoiding the broken bit.  I need to know if one: how long a rebuild is going to take, so I can plan the downtime and two: will it complete sucessfully or will the world fall on my head.</p>
<p>LVM snapshots can help here and my filesystem in on a LVM logical volume.  The idea is to take a snapshot of the filesystem and run the rebuild on the snapshot.  Then you can decide whether you want to take the live filesystem down to rebuild that, or maybe you decide to update your backups best you can and start a new filesystem from scratch.</p>
<p><span id="more-313"></span></p>
<ol>
<li>create the snapshot: lvcreate -s -L 5G -n home-080605 /dev/myvg/home</li>
<li>run the rebuild: time reiserfsck &#8211;rebuild-tree -y /dev/myvg/home-080605</li>
<li>note the time it took</li>
<li>mount the snapshot somewhere: mount /dev/myvg/home-080605 /mnt/home-rebuilt</li>
<li>poke around a bit, make sure things are worse off (in my case, I took a file listing of live and snapshot filesystems and ran it through diff - nothing guaranteed, but provides some clues :)</li>
</ol>
<p>The 5G is how much data can change from the time of the snapshot before LVM drops it.  This depends on how many changes the rebuild is going to make and how many changes to the original filesystem are made whilst you&#8217;re working (assuming it&#8217;s still in use like in this case)</p>
<p>In my case, the output of the rebuild command showed that just the known corrupted files had been affected, which was nice.  So now you can arrange the downtime and do the real rebuild. Feel free to take another snapshot before running the real rebuild, then if something does happen to go terribly wrong, you can recover to at least where you started.</p>
<p>Remember to remove the snapshots when you&#8217;re done: lvremove /dev/myvg/home-080605</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/06/05/313/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter relay rbot irc plugin</title>
		<link>http://johnleach.co.uk/words/archives/2008/05/25/312/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/05/25/312/#comments</comments>
		<pubDate>Sun, 25 May 2008 01:30:05 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=312</guid>
		<description><![CDATA[I wrote a little plugin for rbot that follows a user on Twitter and announces any twits of its friends on irc.
I registered a dedicated twitter account for our irc channel and had it follow everyone in the channel who has a Twitter account.  When they twit, we get an announcement within 90 seconds:
&#60;chanbot&#62; via [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a little plugin for <a title="Ruby irc bot" href="http://ruby-rbot.org">rbot</a> that follows a user on <a href="http://www.twitter.com">Twitter</a> and announces any twits of its friends on irc.</p>
<p>I registered a dedicated twitter account for our irc channel and had it follow everyone in the channel who has a Twitter account.  When they twit, we get an announcement within 90 seconds:</p>
<p><code>&lt;chanbot&gt; via twitter, johnleach is testing his rbot plugin a bit more (23 seconds ago via web)<br />
</code></p>
<p>The <a href="http://johnleach.co.uk/downloads/ruby/rbot/plugins/twitter_relay.rb">plugin is available here</a> and is licensed under the terms of the GNU General Public License v2, just like rbot.</p>
<p>Just drop it in your <code>.rbot/plugins</code> dir, rescan, then configure <code>twitter_relay.username</code> and <code>twitter_relay.channels</code> and off you go.  It will check the rss feed every 5 minutes by default, but that can go as low as around 60 seconds if you set <code>twitter_relay.sleep</code>.</p>
<p>Only tested with the latest development snapshot of rbot, but it will probably work with older versions.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/05/25/312/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Graphical Git on GNU/Linux with Giggle</title>
		<link>http://johnleach.co.uk/words/archives/2008/04/27/311/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/04/27/311/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 21:46:39 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

		<category><![CDATA[revision control]]></category>

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=311</guid>
		<description><![CDATA[Check out (pun!) Giggle, a graphical frontend for the git distributed revision control system.  Cute name and much lovelier than gitk. It&#8217;s pretty new but already does a lot, and more is planned.  See the screeny.
]]></description>
			<content:encoded><![CDATA[<p>Check out (pun!) <a href="http://developer.imendio.com/projects/giggle">Giggle</a>, a graphical frontend for the git distributed revision control system.  Cute name and much lovelier than gitk. It&#8217;s pretty new but already does a lot, and more is planned.  <a title="screenshot of giggle" href="http://developer.imendio.com/sites/developer.imendio.com/files/giggle.png">See the screeny</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/04/27/311/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making a staging database with sed</title>
		<link>http://johnleach.co.uk/words/archives/2008/04/26/310/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/04/26/310/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 10:53:40 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=310</guid>
		<description><![CDATA[Quick one - thought was was cute and useful.  I take a copy of live databases once in a while for use in the staging environments, but some apps have references to the live url in the there (Wordpress does this and makes all its redirects using it, making it particularly difficult to test in [...]]]></description>
			<content:encoded><![CDATA[<p>Quick one - thought was was cute and useful.  I take a copy of live databases once in a while for use in the staging environments, but some apps have references to the live url in the there (Wordpress does this and makes all its redirects using it, making it particularly difficult to test in staging).</p>
<p>This is a simple little way to change all the urls in the db as you clone it:</p>
<p><code>mysqldump -h live_db_host -u user -pmypass live_db | sed -e '{s/www.example.com/staging.example.com/g}' | mysql -h staging_db_host -u user -pmypass staging_db</code></p>
<p>Though depending on your MySQL table type you might want to dump to disk first, then pipe it through sed as your live tables might be locked (I&#8217;m not actually sure if mysqldump will block waiting for the other processes to catch up)</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/04/26/310/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Broken Bus Window</title>
		<link>http://johnleach.co.uk/words/archives/2008/04/20/309/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/04/20/309/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 11:44:57 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Photoblog]]></category>

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=309</guid>
		<description><![CDATA[
Broken Bus Window form back in 2005.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://johnleach.co.uk/photography/selections/photoblog/050806-broken-bus-window.jpg?info"><img class="alignnone" src="http://johnleach.co.uk/photography/selections/photoblog/050806-broken-bus-window.jpg?preview" alt="Broken Bus Window Photo" /></a></p>
<p>Broken Bus Window form back in 2005.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/04/20/309/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speaking at the Manchester Free Software Meeting</title>
		<link>http://johnleach.co.uk/words/archives/2008/04/08/307/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/04/08/307/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 22:05:35 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Personal]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=307</guid>
		<description><![CDATA[ I&#8217;m speaking next Tuesday (15th April 2008) at the Manchester Free Software about my geeky web comic, Everybody Loves Eric Raymond.  Apparently people are still interested in it even though it hasn&#8217;t been updated since December! Hooray!
It&#8217;ll be a bit of a mix of the two talks I&#8217;ve done before on ELER, so [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-308" title="ELER pane" src="http://johnleach.co.uk/words/wp-content/uploads/2008/04/eler-pane.jpg" alt="" width="180" height="185" /> I&#8217;m speaking next Tuesday (15th April 2008) at the Manchester Free Software about my geeky web comic, <a href="http://geekz.co.uk/lovesraymond/">Everybody Loves Eric Raymond</a>.  Apparently people are still interested in it even though it hasn&#8217;t been updated since December! Hooray!</p>
<p>It&#8217;ll be a bit of a mix of the two talks I&#8217;ve done before on ELER, so some stuff about the history of the comic and how I make it, plus some ranting about free software, free markets and leaders.</p>
<p>I was asked by the then organiser (and my friend) <a href="http://mattl.co.uk">Matt Lee</a> who was then extraordinarily renditioned to North America with his new wife, leaving the new organisers to pick up the pieces.  Luckily most of the pieces were found and it&#8217;s all go, though I do now appear to be talking about my new <a title="UK Ruby on Rails hosting" href="http://www.brightbox.co.uk">Rails hosting company</a> too and my name is spelt differently.  If there is time, I&#8217;ll talk about some of the stuff we&#8217;re doing at Brightbox with Free Software.</p>
<p>Talk starts at 7pm at the <a href="http://www.manchesterdda.com/article/12/">Manchester DDA</a>.  More details on the <a href="http://groups.fsf.org/index.php/Manchester/2008-04-15">Manchester Free Software website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/04/08/307/feed/</wfw:commentRss>
		</item>
		<item>
		<title>6 year old Gnome bug picks up pace</title>
		<link>http://johnleach.co.uk/words/archives/2008/04/05/306/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/04/05/306/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 11:12:45 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Tech]]></category>

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/?p=306</guid>
		<description><![CDATA[This bug regarding the Nautilus image thumbnailer performance was reported almost 6 years ago.  It had input on it at the rate of around one message every two months, up until the end of 2003 - then nothing until 2006, where duplicate bug reports start coming in pretty regularly until the end of 2006.  All [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Gnome bugzilla" href="http://bugzilla.gnome.org/show_bug.cgi?id=80925">This bug regarding the Nautilus image thumbnailer performance</a> was reported almost 6 years ago.  It had input on it at the rate of around one message every two months, up until the end of 2003 - then nothing until 2006, where duplicate bug reports start coming in pretty regularly until the end of 2006.  All pretty quiet until then, kind of suddenly, Michael Chudobiak writes a patch that speeds up Nautilus almost 3400%</p>
<pre id="comment_text_15">I used a test folder that had four 15000x400 tif images and four
15000x400 png images (solid colors). Without the patch, it took
Nautilus 4 minutes and 30 seconds to thumbnail the folder. With
the patch, it took 8 seconds.

I'm not clever enough to touch the actual pixop codebase. But
these numbers suggest there is enormous room for improvement!
This bug has been open for 6 years - nudge, nudge.</pre>
<p>Because free software is forever we can just afford to get there in the end :)</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/04/05/306/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Euruko Ruby Conference 2008 in Prague</title>
		<link>http://johnleach.co.uk/words/archives/2008/03/27/305/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/03/27/305/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 14:07:22 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Personal]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/archives/2008/03/27/305/</guid>
		<description><![CDATA[I&#8217;m in Prague with Brightbox for the Euruko Ruby Conference 2008 from tomorrow evening until Monday morning. I&#8217;ll post photos to the Brightbox Flickr photostream as we go along.  If anyone wants to meet up for a drink, email me at john at johnleach dotty co dotty uk.
UPDATE: Photos here.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in Prague with <a title="UK Rails Hosting" href="http://www.brightbox.co.uk">Brightbox</a> for the <a href="http://www.euruko2008.org/">Euruko Ruby Conference 2008</a> from tomorrow evening until Monday morning. I&#8217;ll post photos to the <a href="http://www.flickr.com/photos/brightbox">Brightbox Flickr photostream</a> as we go along.  If anyone wants to meet up for a drink, email me at john at johnleach dotty co dotty uk.</p>
<p>UPDATE: <a title="Photos of Euruko Ruby Conference in Prague" href="http://www.flickr.com/photos/brightbox/sets/72157604356690421/">Photos here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/03/27/305/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BBC Racism</title>
		<link>http://johnleach.co.uk/words/archives/2008/03/11/304/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/03/11/304/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 11:02:33 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Politics]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/archives/2008/03/11/304/</guid>
		<description><![CDATA[The public can see for themselves the ‘neutral’ media language used to describe Israeli actions: ‘incursion’, ‘retaliation’, ‘military operations’. By contrast, Israel endures ‘terrorist attacks’, ‘slaughter’, ‘a bloodbath’. Careful analysis by Greg Philo and Mike Berry, of the Glasgow University Media Group, found a persistent, ugly pattern:
“In our samples of news content, words such as [...]]]></description>
			<content:encoded><![CDATA[<blockquote>The public can see for themselves the ‘neutral’ media language used to describe Israeli actions: ‘incursion’, ‘retaliation’, ‘military operations’. By contrast, Israel endures ‘terrorist attacks’, ‘slaughter’, ‘a bloodbath’. Careful analysis by Greg Philo and Mike Berry, of the Glasgow University Media Group, found a persistent, ugly pattern:</p>
<p>“In our samples of news content, words such as ‘mass murder’, ‘savage cold-blooded killing’ and ‘lynching’ were used by journalists to describe Israeli deaths but not those of Palestinians/Arabs. The word ‘terrorist’ was used to describe Palestinians, but when an Israeli group was reported as trying to bomb a Palestinian school, they were referred to as ‘extremists’ or ‘vigilantes’.” (Philo and Berry, ‘Bad News From Israel’, Pluto Press, London, 2004, p. 259)</p></blockquote>
<p><a href="http://www.medialens.org/alerts/08/080311_israeli_deaths_matter.php">http://www.medialens.org/alerts/08/080311_israeli_deaths_matter.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/03/11/304/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Leeds Ruby Thing #2, Thursday 6th March</title>
		<link>http://johnleach.co.uk/words/archives/2008/03/04/303/</link>
		<comments>http://johnleach.co.uk/words/archives/2008/03/04/303/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 12:29:00 +0000</pubDate>
		<dc:creator>john</dc:creator>
		
		<category><![CDATA[Ruby on Rails]]></category>

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://johnleach.co.uk/words/archives/2008/03/04/303/</guid>
		<description><![CDATA[The Leeds offshoot of the North West Ruby User Group is meeting again this Thursday, 6th March, 7:00 PM - 11:00 PM.  This time at Mr. Foley&#8217;s
Cask Ale House, on The Headrow (formerly Dr. Okells).
Expect unstructured discussion of Ruby, Ruby on Rails and other random stuff plus nice people, great beer and coffee and geeky [...]]]></description>
			<content:encoded><![CDATA[<p>The Leeds offshoot of the <a href="http://www.nwrug.org">North West Ruby User Group</a> is meeting again this Thursday, 6th March, 7:00 PM - 11:00 PM.  This time at <a href="http://www.yorkbrew.demon.co.uk/Mr_fowleys.html">Mr. Foley&#8217;s<br />
Cask Ale House</a>, on The Headrow (formerly Dr. Okells).</p>
<p>Expect unstructured discussion of Ruby, Ruby on Rails and other random stuff plus nice people, great beer and coffee and geeky tshirts.</p>
<p>The balcony back room of Mr Foley&#8217;s has been booked.  Announce that you&#8217;re coming on the <a href="http://upcoming.yahoo.com/event/434473/">upcoming page</a>.</p>
<p>Oh, and we now have a website: <a href="http://leedsrubything.org/">http://leedsrubything.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johnleach.co.uk/words/archives/2008/03/04/303/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.342 seconds -->
