<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[David Reynolds]]></title>
  <link href="http://davidreynolds.me.uk/atom.xml" rel="self"/>
  <link href="http://davidreynolds.me.uk/"/>
  <updated>2012-02-09T14:53:11+00:00</updated>
  <id>http://davidreynolds.me.uk/</id>
  <author>
    <name><![CDATA[David Reynolds]]></name>
    <email><![CDATA[david@reynoldsfamily.org.uk]]></email>
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Git Workflow]]></title>
    <link href="http://davidreynolds.me.uk/blog/2011/10/15/git-workflow/"/>
    <updated>2011-10-15T15:12:00+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2011/10/15/git-workflow</id>
    <content type="html"><![CDATA[<p>I&#8217;ve been using this for a while and had it recorded on a private on a private wiki. I was just tidying up my hosting account and thought I&#8217;d get rid of the wiki and store any useful info from it on my blog</p>

<p>Clone full subversion history into git repository (warning, may take a long time depending on how many commits you have in your Subversion repository).</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git-svn clone -s http://example.com/my_subversion_repo local_dir
</span></code></pre></td></tr></table></div></figure>


<p>-s signifies trunk/ branches/ tags/ exist in the svn repo (standard repository setup)</p>

<p>Create branch for local changes and check it out</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git checkout -b XXXX-description <span class="c"># where XXXX is a ticket number</span>
</span></code></pre></td></tr></table></div></figure>


<p>Make my changes in the branch&#8230;
Make my commits in the branch&#8230;</p>

<p>Change back to master branch</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git checkout master
</span></code></pre></td></tr></table></div></figure>


<p>Merge branch as one commit to master</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git merge --squash XXXX-description
</span></code></pre></td></tr></table></div></figure>


<p>Commit changes to master branch:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git commit -a
</span></code></pre></td></tr></table></div></figure>


<p>Push changes back to svn:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git svn dcommit
</span></code></pre></td></tr></table></div></figure>


<p>Resync local_changes to master:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git checkout XXXX-description
</span><span class='line'><span class="nv">$ </span>git rebase master
</span></code></pre></td></tr></table></div></figure>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Awesome Bohemian Rhapsody Cover]]></title>
    <link href="http://davidreynolds.me.uk/blog/2011/10/08/awesome-bohemian-rhapsody-cover/"/>
    <updated>2011-10-08T16:48:00+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2011/10/08/awesome-bohemian-rhapsody-cover</id>
    <content type="html"><![CDATA[<p>Below is a video of the amazing Mike Mills from <a href="http://toehider.com">Toehider</a> doing an acoustic cover of Bohemian Rhapsody:</p>

<iframe width="640" height="360" src="http://www.youtube.com/embed/qemPTyCU5os" frameborder="0" allowfullscreen></iframe>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Installing Python-crack on Mac OS X Lion in a virtualenv]]></title>
    <link href="http://davidreynolds.me.uk/blog/2011/10/03/installing-python-crack-on-mac-os-x-lion/"/>
    <updated>2011-10-03T17:22:00+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2011/10/03/installing-python-crack-on-mac-os-x-lion</id>
    <content type="html"><![CDATA[<p>Since:</p>

<ul>
<li>I forgot how to do this last week</li>
<li>I need to do it reasonably regularly</li>
<li>I can&#8217;t find any other correct resources suggesting how to do this</li>
</ul>


<p>.. I thought I&#8217;d record it here.</p>

<p>This assumes:</p>

<ul>
<li>You are running Mac OS X (version probably doesn&#8217;t matter)</li>
<li>You are using <a href="http://mxcl.github.com/homebrew/">Homebrew</a> (and if you&#8217;re not, why aren&#8217;t you?)</li>
<li>You are using virtualenv</li>
</ul>


<p>Do the following:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span><span class="c"># Download and uncompress python-crack-0.5.1.tar</span>
</span><span class='line'><span class="nv">$ </span>brew install cracklib cracklib-words
</span><span class='line'><span class="nv">$ </span><span class="nb">cd </span>python-crack-0.5.1
</span><span class='line'><span class="nv">$ DEFAULT_DICTPATH</span><span class="o">=</span>/usr/local/share/cracklib-words ./configure --prefix<span class="o">=</span><span class="nv">$VIRTUAL_ENV</span>
</span><span class='line'><span class="nv">$ </span>make
</span><span class='line'><span class="nv">$ </span>make install
</span></code></pre></td></tr></table></div></figure>


<p>Done!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[A new site for 2010]]></title>
    <link href="http://davidreynolds.me.uk/blog/2010/04/20/new-site-2010/"/>
    <updated>2010-04-20T22:48:58+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2010/04/20/new-site-2010</id>
    <content type="html"><![CDATA[<p>Hello 2010, how are you?</p>

<p>Here is my girlfriend Becca&#8217;s new site to showcase her jewellery designs.  At the moment just a holding page. I present:</p>

<p><a href="http://www.squaredpaper.co.uk/">Squared Paper Designs</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[How to compile lftp on OS X Leopard]]></title>
    <link href="http://davidreynolds.me.uk/blog/2009/08/21/lftp-on-osx-leopard/"/>
    <updated>2009-08-21T22:24:47+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2009/08/21/lftp-on-osx-leopard</id>
    <content type="html"><![CDATA[<p>I&#8217;ve recently been missing a few pieces of software from my linux days most recently, lftp.  It wasn&#8217;t as simple as I had hoped it would be so I thought I&#8217;d record how I did it here.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="c"># Download and install readline</span>
</span><span class='line'><span class="nv">$ </span>wget ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz <span class="c"># (or latest stable version)</span>
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>tar zxvf readline-6.0.tar.gz
</span><span class='line'><span class="nv">$ </span><span class="nb">cd </span>readline-6.0
</span><span class='line'><span class="nv">$ </span>./configure --prefix<span class="o">=</span>/usr/local
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>make
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>sudo make install
</span><span class='line'>
</span><span class='line'><span class="c"># Download lftp</span>
</span><span class='line'><span class="nv">$ </span>wget http://ftp.yars.free.net/pub/source/lftp/lftp-3.7.15.tar.gz <span class="c"># (or latest stable version)</span>
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>tar zxvf lftp-3.7.15.tar.gz
</span><span class='line'><span class="c"># Here comes the magic</span>
</span><span class='line'><span class="nv">$ CXXFLAGS</span><span class="o">=</span><span class="s2">&quot;-O0 -Wall -fno-exceptions -fno-rtti -fno-implement-inlines&quot;</span> <span class="se">\</span>
</span><span class='line'>   <span class="nv">LDFLAGS</span><span class="o">=</span><span class="s2">&quot;-Xlinker -search_paths_first -L/usr/local/lib&quot;</span> <span class="se">\</span>
</span><span class='line'>   <span class="nv">CPPFLAGS</span><span class="o">=</span><span class="s2">&quot;-I/usr/local/include&quot;</span> <span class="se">\</span>
</span><span class='line'>  ./configure --with-openssl --disable-shared --disable-nls --prefix<span class="o">=</span>/usr/local
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>make
</span><span class='line'>...
</span><span class='line'><span class="nv">$ </span>make install
</span></code></pre></td></tr></table></div></figure>


<p>.. and that should be it.  As I understand it, the &#8216;magic&#8217; part tells the compiler to look in the right place for the readline library.</p>

<p>UPDATE:  I suggest you now ignore this and use <a href="http://github.com/mxcl/homebrew">Homebrew</a> where I have contributed an lftp recipe.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[My favourite podcasts (at the moment)]]></title>
    <link href="http://davidreynolds.me.uk/blog/2009/02/23/my-favourite-podcasts/"/>
    <updated>2009-02-23T22:55:28+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2009/02/23/my-favourite-podcasts</id>
    <content type="html"><![CDATA[<p>I&#8217;ve been finding recently that I seem to spend a lot more time watching and listening to podcasts than I used to and I thought I&#8217;d list them here to see if anyone else has similar podcast taste or if anyone has any podcast recommendations.</p>

<p><a href="http://www.apple.com/business/theater/">Apple Quick Tips</a>:
Weekly, short tips on how to use Mac OS X.  These are often things I already know, but sometimes the odd gem of a tip comes up.</p>

<p><a href="http://www.bbc.co.uk/radio/podcasts/moyles/">Best of Chris Moyles Enhanced</a>:
Since I don&#8217;t commute to work any more, I seem to not catch much of this show when it&#8217;s on in the morning, so I catch up on it with the podcast.</p>

<p><a href="http://cnettv.cnet.com/">CNET TV&#8217;s Loaded</a>:
A (generally) less than 5 minute look at the latest news stories in Tech. Presented by Natali Del Conte.</p>

<p><a href="http://www.comedy.org.uk/podcasts/collingsherrin/">The Collings and Herrin Podcasts</a>:
Weekly musings from Richard Herring (ex of Herring and Lee) and Andrew Collins (ex of Collins and Maconie).  Often quite crude, always very funny.</p>

<p><a href="http://revision3.com/diggnation/">Diggnation</a>:
A hilarious look at the weeks top stories from <a href="http://digg.com/">digg.com</a>. Presented by Kevin Rose and Alex Albrecht.</p>

<p><a href="http://geekbrief.tv/">GeekBrief.TV</a>:
Shiny, happy Tech news.</p>

<p><a href="http://revision3.com/hak5/">Hak5</a>:
Info and tutorials on all sorts of geeky topics.</p>

<p><a href="http://www.layersmagazine.com/tv">Layers TV</a>:
Short tutorials, competitions and news about all applications in Adobe Creative Suite.</p>

<p><a href="http://www.eoncorp.com/clients/phils/">The Perfect Ten with Phill Jupitus and Phil Wilding</a>:
The first podcast I&#8217;ve heard with rules:
 *    10 Subjects, drawn at random from a fine-looking hat
 *    Only 30 minutes for the lot
 *    No returning to subjects - EVER! It ruins the time/space continuum.
Another very funny podcast.</p>

<p><a href="http://www.photoshopusertv.com/">Photoshop User TV</a>:
Tutorials, news and competitions focused mostly on Photoshop (and sometimes Lightroom).</p>

<p><a href="http://revision3.com/pixelperfect/">Pixel Perfect</a>:
Presented by the Photoshop wizard that is Burt Monroy.  He shows you how to create all sorts of things from scratch in Photoshop.</p>

<p><a href="http://www.llewtube.com/">Robert Llewellyn&#8217;s Car Pool</a>:
The actor behind Kryten in Red Dwarf and presenter of Scrap heap Challenge.  Drives people around in his car and has a chat with them. Fantastically simple concept which makes for a great podcast.</p>

<p><a href="http://revision3.com/scamschool/">Scam School</a>:
Bar scams and tricks. Another great podcast from Revision 3.</p>

<p><a href="http://www.quickstopentertainment.com/2009/02/23/smodcast-77/">SModcast</a>:
Kevin Smith and Scott Mosier (with occasional guests) chat about anything and everything.</p>

<p><a href="http://revision3.com/systm">Systm</a>:
Patrick Norton, David Caulkins and Roger Chang talk you through all sorts of geeky projects.  From building a robot, to making a Media PC.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Amazon MP3 Store]]></title>
    <link href="http://davidreynolds.me.uk/blog/2009/01/09/amazon-mp3-store/"/>
    <updated>2009-01-09T13:16:26+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2009/01/09/amazon-mp3-store</id>
    <content type="html"><![CDATA[<p>I have probably been using Amazon a hell of a lot more over the past couple of months than I usually do, mostly because I signed up for an Amazon Prime trial and then bought most Christmas presents from Amazon, but also because of their new MP3 Store.</p>

<p>Amazon launched their MP3 store just before Christmas and I bought Seasick Steve&#8217;s album &#8220;I Started Out With Nothing&#8221; to try it out.  I found the experience pretty painless and was very pleased with the service for £3 an album.  I didn&#8217;t really buy any more music from Amazon until I received an email with a £3 voucher in it for use on Christmas day and Boxing day.</p>

<p>I finally remembered to use it on Boxing Day evening and I picked 2 albums to download (Elbow - The Seldom Seen Kid and Kaiser Chiefs - Yours Truly, Angry Mob).  I checked out, paid and the realised I&#8217;d forgotten to use the voucher!  I cursed my own stupidity but then forgot about it and started listening to the music.</p>

<p>Today, I received an email from Amazon saying the following:</p>

<p>&#8216;We are writing to you with regard to our recent MP3 Christmas promotion. As your order XXX-XXXXXXXX-XXXXXXX qualified for this promotion, we would like to offer you a refund of GBP 3.00.&#8217;</p>

<p>Thanks Amazon! This means despite me forgetting to use the voucher (like an idiot) I still received the £3 discount! I was so impressed with this customer service that I had to break my month long blog silence to post about it.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[How long does it take to do a 7 pass erase with Disk Utility]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/12/02/how-long-does-it-take-do-7-pass-erase-disk-utility/"/>
    <updated>2008-12-02T16:37:29+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/12/02/how-long-does-it-take-do-7-pass-erase-disk-utility</id>
    <content type="html"><![CDATA[<p>Since I couldn&#8217;t find any solid figures for how long it might take to run the 7 pass erase, I thought I&#8217;d feed Google with my findings in the hope that it might help someone else in future.</p>

<p>I ran the 7 pass erase on an 80GB Hard Disk and it took around 4.5-5 hours.</p>

<p>Hope that helps someone.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Django pony wallpaper popularity]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/10/02/django-pony-wallpaper-popularity/"/>
    <updated>2008-10-02T11:47:11+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/10/02/django-pony-wallpaper-popularity</id>
    <content type="html"><![CDATA[<p>From my logs it seems that the blue wallpaper was the most popular:</p>

<p>74 /blog/django-pony/magic-pony-django-wallpaper-blue.png</p>

<p>57 /blog/django-pony/magic-pony-django-wallpaper-green.png</p>

<p>41 /blog/django-pony/magic-pony-django-wallpaper-red.png</p>

<p>For fun, here is a little graph to demostrate:</p>

<p><img src="http://chart.apis.google.com/chart?chs=320x200&amp;cht=p3&amp;chtt=Django%20Pony%20Colour%20Popularity&amp;chd=s%3A9vi%2C&amp;chco=0000ff&amp;chdl=%2300ff00&amp;chxl=0%3A%7Cblue%7Cgreen%7Cred%7C&amp;chxt=x" alt="Django pony wallpaper colour popularity" /></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[DJANGO PONY!]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/09/19/django-pony/"/>
    <updated>2008-09-19T14:32:29+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/09/19/django-pony</id>
    <content type="html"><![CDATA[<p>If like me, you like the idea of <a href="http://djangopony.com//">django pony</a> but you&#8217;re not so keen on the pink, here are some alternatives:</p>

<p><a href="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-blue.png"><img src="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-blue-s.png" alt="Django Pony Blue" /></a>
<a href="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-red.png"><img src="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-red-s.png" alt="Django Pony Red" /></a>
<a href="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-green.png"><img src="http://david.reynoldsfamily.org.uk/blog/django-pony/magic-pony-django-wallpaper-green-s.png" alt="Django Pony Green" /></a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Another lolcat]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/07/12/another-lolcat/"/>
    <updated>2008-07-12T17:43:33+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/07/12/another-lolcat</id>
    <content type="html"><![CDATA[<p><img src="http://david.reynoldsfamily.org.uk/blog/happyiphonecat.png" alt="Yay, we haz iphonez" /></p>

<p>Just a quick note to mention that I got both of these lolcat images off of random websites whilst searching for &#8216;happy cat&#8217; or &#8216;sad cat&#8217;, so I don&#8217;t own the copyright. If you do and you don&#8217;t want me to use them, let me know.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[iPhone impatience...]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/07/09/iphone-impatience/"/>
    <updated>2008-07-09T20:34:43+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/07/09/iphone-impatience</id>
    <content type="html"><![CDATA[<p><img src="http://david.reynoldsfamily.org.uk/blog/iphonecat.jpg" alt="iphone cat want iphone" /></p>

<p>I think <a href="http://www.o2.co.uk/">O2</a> heard me:</p>

<pre><code>Date:   9 July 2008 21:01:45 BST
Subject:   Order Confirmation
</code></pre>

<p>W00t! My order is confirmed, so ought to be here by Friday!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Last.fm]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/06/25/lastfm/"/>
    <updated>2008-06-25T16:34:49+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/06/25/lastfm</id>
    <content type="html"><![CDATA[<p>Having a few spare minutes, I&#8217;ve added a <a href="http://www.djangoproject.com/documentation/templates_python/#writing-custom-template-tags">template tag</a> to my site that shows the last 10 songs I&#8217;ve listened to on <a href="http://www.last.fm">last.fm</a>.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
</pre></td><td class='code'><pre><code class='python'><span class='line'><span class="nd">@register.inclusion_tag</span><span class="p">(</span><span class="s">&#39;blog/lastfm_tracks.html&#39;</span><span class="p">)</span>
</span><span class='line'><span class="k">def</span> <span class="nf">latest_tracks</span><span class="p">():</span>
</span><span class='line'>    <span class="n">url</span> <span class="o">=</span> <span class="s">&#39;http://ws.audioscrobbler.com/1.0/user/DReynolds/recenttracks.txt&#39;</span>
</span><span class='line'>    <span class="n">response</span> <span class="o">=</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">urlopen</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
</span><span class='line'>    <span class="n">songs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span class='line'>    <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">):</span>
</span><span class='line'>        <span class="k">if</span> <span class="ow">not</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s">r&quot;^$&quot;</span><span class="p">,</span> <span class="n">line</span><span class="p">):</span>
</span><span class='line'>            <span class="n">songdetail</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&quot;,&quot;</span><span class="p">,</span> <span class="n">line</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
</span><span class='line'>            <span class="n">artist</span><span class="p">,</span> <span class="n">song</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&quot; </span><span class="se">\xe2\x80\x93</span><span class="s"> &quot;</span><span class="p">,</span>  <span class="n">songdetail</span><span class="p">)</span>
</span><span class='line'>            <span class="n">songs</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s">&#39;artist&#39;</span> <span class="p">:</span> <span class="n">artist</span><span class="p">,</span> <span class="s">&#39;song&#39;</span> <span class="p">:</span> <span class="n">song</span><span class="p">})</span>
</span><span class='line'>    <span class="k">return</span> <span class="p">{</span><span class="s">&#39;songs&#39;</span> <span class="p">:</span> <span class="n">songs</span><span class="p">}</span>
</span></code></pre></td></tr></table></div></figure>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Slight redesign redux]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/05/25/slight-redesign-redux/"/>
    <updated>2008-05-25T14:41:18+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/05/25/slight-redesign-redux</id>
    <content type="html"><![CDATA[<p>This time along with a completely different design (which isn&#8217;t completely finished) I have updated the blog app to work with <a href="http://www.djangoproject.com">django</a> <a href="http://code.djangoproject.com/browser/django/trunk">trunk</a>, along with adding a delicious template tag. The blog app also now uses <a href="http://daringfireball.net/projects/markdown/">markdown</a> - a massive improvement since I was manually entering HTML before which proved quite time consuming.  Hopefully these additions may make me update this a bit more often.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Bootcamp blues]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/04/15/bootcamp-blues/"/>
    <updated>2008-04-15T00:46:42+01:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/04/15/bootcamp-blues</id>
    <content type="html"><![CDATA[<p>I recently bought a new iMac (2.4Ghz Intel Core 2 Duo 1GB RAM 20&quot;) and I thought that, since it had an Intel Processor and had Bootcamp preinstalled, I&#x27;d give a go installing Windows and make it dual boot between the 2 operating systems. (Also, my boss was keen to know whether it would be quicker to use a dual boot system over running Windows in Parallels).</p>




<p>Bootcamp has quite a clever interface that allows you to resize your partition and then stick in your Windows CD, reboot and install. Also around this early stage it gives you the option to print out a PDF of instructions, to use whilst your new Mac is incapacitated.  I foolishly decided not to print out the PDF (or transfer it to another machine - since we don&#x27;t have our printer at the moment) and so when I got to the &#x27;Which partition do you want to install Windows on&#x27; screen, I was unsure of which partition to choose. So, I cracked open my laptop did a quick Google search and found out that I should pick the partition that is labelled &quot;C:&quot;.  I picked this partition, with vague alarm bells ringing that the partition didn&#x27;t seem to be the same size as the partition I had created back in Bootcamp (5GB).  I pressed on nonetheless.  I set it off formatting the partition and was surprised at how long it took to format a 5GB partition.  In fact I started it, went out, came back home and it was still going. I began to worry slightly.  I decided to abandon the install and reboot to OS X and check that everything was still working.  I power-cycled.  The machine booted from the CD again.  I Googled for how to remove a CD from an iMac when you can&#x27;t boot into OS X (hold down your mouse button for those not in the know). I then rebooted only to be faced by the horrible screen that told me the iMac couldn&#x27;t find a partition to boot from.</p>




<p>It turned out that I&#x27;d completely wiped the disk of existing partitions. Through luck rather than judgement, just before trying out Bootcamp, I&#x27;d decided to try out Time Machine, so I had a lovely shiny backup to recover from.</p>




<p>Hopefully this might serve as some warning to anyone who thinks about trying out Bootcamp - make sure you print out the manual that is offered to you, and if a partition size looks wrong, it probably is!</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Slight redesign]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/02/07/slight-redesign/"/>
    <updated>2008-02-07T23:05:39+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/02/07/slight-redesign</id>
    <content type="html"><![CDATA[<p>I&#8217;ve just taken the opportunity of being quite awake at 11pm (for some reason) to give the site a quick slight redesign.  I wanted to feature a photo that I&#8217;d taken and thought perhaps I should get rid of the slighty-possibly-offensive picture that was there before.</p>




<p>The picture was taken on holiday in Northern Ireland at the Giants Causeway.  It was taken with our Nikon D40X with some settings or other (I would give technical photography details, but I don&#8217;t really understand them).  I then did the LAB Colour trick to enhance the colours a bit.</p>




<p>For anyone who reads this blog through the RSS feed, or via <a href="http://planet.alug.org.uk">Planet Alug</a> you&#8217;ll have to visit the site for a change to see the new(ish) design!  Please let me know what you think, as I&#8217;m not sure whether the orange still works with the new picture.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Look! I'm a django contributor]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/02/03/look-im-django-contributor/"/>
    <updated>2008-02-03T10:58:35+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/02/03/look-im-django-contributor</id>
    <content type="html"><![CDATA[<p>Following the check-in of my uk localisation ticket (<a href="http://code.djangoproject.com/ticket/5523">5523</a>) I am now listed as a <a href="http://code.djangoproject.com/browser/django/trunk/AUTHORS#L277">contributor!</a></p>

<p>Thanks <a href="http://www.pointy-stick.com/blog/">Malcolm!</a> (who incidentally has a very informative presentation online from <a href="http://linux.conf.au/">linux.conf.au</a>, certainly worth a <a href="http://mirror.linux.org.au/pub/linux.conf.au/2008/Thu/mel8-114.ogg">watch</a>)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Django builtin serializer doesn't work with form.errors]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/01/31/django-builtin-serializer-doesnt-work-formerrors/"/>
    <updated>2008-01-31T13:15:45+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/01/31/django-builtin-serializer-doesnt-work-formerrors</id>
    <content type="html"><![CDATA[<p>Thought I&#8217;d right a quick note in case anyone else came across this problem.  In trying to serialize the output of form.errors, I come across this error:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='python'><span class='line'><span class="n">django</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">functional</span><span class="o">.</span><span class="n">__proxy__</span> <span class="nb">object</span> <span class="n">at</span> <span class="mh">0xb76b520c</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">JSON</span> <span class="n">serializable</span><span class="o">&lt;/</span><span class="n">pre</span><span class="o">&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>After lots of debugging help by FunkyBob, <a href="http://blog.michaeltrier.com/">empty</a> pointed out a <a href="http://wolfram.kriesing.de/blog/index.php/2007/json-serialization-for-django">replacement</a> <a href="http://dpaste.com/hold/4601/">serializer</a> that seems to work much better.</p></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Netnewswire 3.1 is now free!]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/01/14/netnewswire-31-now-free/"/>
    <updated>2008-01-14T09:59:21+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/01/14/netnewswire-31-now-free</id>
    <content type="html"><![CDATA[<p>I had been using <a href="http://www.google.com/reader">Google Reader</a> for a couple of weeks for my RSS reading needs, but having read that <a href="http://www.newsgator.com/Individuals/NetNewsWire/">NetNewsWire 3.1</a> is now free, I&#8217;ve switched back to using that and this version compared to the old lite version is fantastic!</p>


<p><a href="http://www.newsgator.com/Individuals/NetNewsWire/Default.aspx" title="More news, less junk. Faster."><img src="http://www.newsgator.com/img/netnewswire-badge.jpg" height="31" width="88" alt="NetNewsWire: More news, less junk. Faster" border="0" /></a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Nice...]]></title>
    <link href="http://davidreynolds.me.uk/blog/2008/01/08/nice/"/>
    <updated>2008-01-08T22:00:20+00:00</updated>
    <id>http://davidreynolds.me.uk/blog/2008/01/08/nice</id>
    <content type="html"><![CDATA[

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'>root@router-upstairs:~# wol <span class="k">$(</span>grep <span class="k">$(</span>grep zhia /etc/hosts | awk <span class="s1">&#39;{print $1}&#39;</span><span class="k">)</span> /etc/ethers | awk <span class="s1">&#39;{print $1}&#39;</span><span class="k">)</span>
</span></code></pre></td></tr></table></div></figure>


<p>Shame it doesn&#8217;t work any more&#8230;</p>
]]></content>
  </entry>
  
</feed>

