<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>drboblog</title>
	
	<link>http://tecnocode.co.uk</link>
	<description>Ramblings on computers…</description>
	<pubDate>Thu, 20 Nov 2008 07:01:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>		<image><link>http://creativecommons.org/licenses/by-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://drbob.tomjepp.co.uk/p/blog/view_rss/xml/" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fdrbob.tomjepp.co.uk%2Fp%2Fblog%2Fview_rss%2Fxml%2F" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fdrbob.tomjepp.co.uk%2Fp%2Fblog%2Fview_rss%2Fxml%2F" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://drbob.tomjepp.co.uk/p/blog/view_rss/xml/" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fdrbob.tomjepp.co.uk%2Fp%2Fblog%2Fview_rss%2Fxml%2F" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fdrbob.tomjepp.co.uk%2Fp%2Fblog%2Fview_rss%2Fxml%2F" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item>
		<title>String swap algorithms</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/458904785/</link>
		<comments>http://tecnocode.co.uk/2008/11/19/string-swap-algorithms/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 22:49:12 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[algorithms]]></category>

		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=171</guid>
		<description><![CDATA[When I went for interview at Imperial College, my interviewer (Dr. P. Kelly) asked me quite a nice question, which (for some unearthly reason) I decided to follow up on afterwards.
The question was a simple one: given a string (e.g.) &#8220;examplesgnome&#8221; consisting of two substrings (in this case, &#8220;examples&#8221; and &#8220;gnome&#8221;), how can we swap [...]]]></description>
			<content:encoded><![CDATA[<p>When I went for interview at <a title="Imperial College London, a UK university." href="http://www.imperial.ac.uk">Imperial College</a>, my interviewer (<a title="Professor of software technology and software optimisation group leader at Imperial College." href="http://www.doc.ic.ac.uk/~phjk/">Dr. P. Kelly</a>) asked me quite a nice question, which (for some unearthly reason) I decided to follow up on afterwards.</p>
<p>The question was a simple one: given a string (e.g.) &#8220;examplesgnome&#8221; consisting of two substrings (in this case, &#8220;examples&#8221; and &#8220;gnome&#8221;), how can we swap the two substrings in-place? In the interview, we covered the third method in more detail, but touched upon the other two. Afterwards, I calculated their computational efficiency, and determined while they all have the same upper bound, one has a lower average running time.</p>
<h3>Method one: reversal</h3>
<p>This is one Dr. Kelly suggested, which is really rather neat. It consists of two steps: reversing the entire string, then reversing both substrings. For example:</p>
<ol>
<li>examples<span style="background-color:green">gnome</span></li>
<li><span style="background-color:green">emong</span>selpmaxe</li>
<li><span style="background-color:green">gnome</span>examples</li>
</ol>
<p>If we take <img src="http://tecnocode.co.uk/wp-content/cache/tex_7b8b965ad4bca0e41ab51de7b31363a1.png" align="absmiddle" class="tex" alt="n" /> to equal the total number of characters, <img src="http://tecnocode.co.uk/wp-content/cache/tex_0cc175b9c0f1b6a831c399e269772661.png" align="absmiddle" class="tex" alt="a" /> to equal the number of characters in the smaller substring, and <img src="http://tecnocode.co.uk/wp-content/cache/tex_92eb5ffee6ae2fec3ad71c777531578f.png" align="absmiddle" class="tex" alt="b" /> to equal the number of characters in the larger substring, this has:</p>
<p><img src="http://tecnocode.co.uk/wp-content/cache/tex_b0b301fa058843eace76626fb7c5ef70.png" align="absmiddle" class="tex" alt="\lfloor \frac{n}{2} \rfloor + \lfloor \frac{a}{2} \rfloor + \lfloor \frac{b}{2} \rfloor" /></p>
<p>swaps, so we may as well say it&#8217;s of linear complexity <img src="http://tecnocode.co.uk/wp-content/cache/tex_7ba55e7c64a9405a0b39a1107e90ca94.png" align="absmiddle" class="tex" alt="O(n)" />.</p>
<h3>Method two: cycles</h3>
<p>This one was also suggested by Dr. Kelly, and involves taking the first character of the larger substring out to a temporary location, then cyclically moving characters <img src="http://tecnocode.co.uk/wp-content/cache/tex_92eb5ffee6ae2fec3ad71c777531578f.png" align="absmiddle" class="tex" alt="b" /> places along into the generated space. Once the strings have been swapped (<img src="http://tecnocode.co.uk/wp-content/cache/tex_7b8b965ad4bca0e41ab51de7b31363a1.png" align="absmiddle" class="tex" alt="n" /> swaps have taken place), we put the stored character back in the final space. For example:</p>
<ol>
<li>examples<span style="background-color:green">gnome</span></li>
<li>_xamplesgnome</li>
<li>gxamples_nome</li>
<li>gxa_plesmnome</li>
<li>gxamplesmno_e</li>
<li>gxampl_smnoee</li>
<li>g_amplxsmnoee</li>
<li>gnamplxsm_oee</li>
<li>gnam_lxsmpoee</li>
<li>gnamelxsmpoe_</li>
<li>gnamelx_mpoes</li>
<li>gn_melxampoes</li>
<li>gnomelxamp_es</li>
<li>gnome_xamples</li>
<li><span style="background-color:green">gnome</span>examples</li>
</ol>
<p>Since each character moves to its final position in one move, the algorithm is intuitively of complexity <img src="http://tecnocode.co.uk/wp-content/cache/tex_7ba55e7c64a9405a0b39a1107e90ca94.png" align="absmiddle" class="tex" alt="O(n)" /> — but we can go further and say it&#8217;s of absolute complexity <img src="http://tecnocode.co.uk/wp-content/cache/tex_7d2b9bdbbbfc3838a211b906a161b341.png" align="absmiddle" class="tex" alt="\sim (n + 2)" />, taking the steps to remove the first character and fill the last space into account.</p>
<h3>Method three: reduction</h3>
<p>This is the method I came up with during the interview and, with some help, made work. It basically involves swapping the <span style="background-color:green">first smaller substring</span> into its final position, then applying the same algorithm to the resulting subsubstrings of the second substring. For example:</p>
<ol>
<li>examples<span style="background-color:green">gnome</span></li>
<li><del>gnome</del><span style="background-color:green">les</span>examp</li>
<li><del>gnome</del>amp<span style="background-color:green">ex</span><del>les</del></li>
<li><del>gnomeex</del><span style="background-color:green">p</span>am<del>les</del></li>
<li><del>gnomeex</del><span style="background-color:green">m</span>a<del>ples</del></li>
<li>gnomeexamples</li>
</ol>
<p>This is quite a neat one to implement, and will perform <img src="http://tecnocode.co.uk/wp-content/cache/tex_7ba55e7c64a9405a0b39a1107e90ca94.png" align="absmiddle" class="tex" alt="O(n)" /> swaps in the worst case (when the smaller substring is only one character long, as one character moves to its final position with each swap).</p>
<p>However, what if we consider the case &#8220;foobar&#8221;, where the substrings are &#8220;foo&#8221; and &#8220;bar&#8221;? In this case, method three only takes 3 swaps. Obviously, this method is limited in the upper bound to <img src="http://tecnocode.co.uk/wp-content/cache/tex_7ba55e7c64a9405a0b39a1107e90ca94.png" align="absmiddle" class="tex" alt="O(n)" /> swaps, but it seems it can do the operation in far fewer — as few as <img src="http://tecnocode.co.uk/wp-content/cache/tex_21e85886c07387133e78c0fa6761f95d.png" align="absmiddle" class="tex" alt="\Omega (a)" />.</p>
<p>I haven&#8217;t got a concrete proof for this, but I believe this is actually of complexity:</p>
<p><img src="http://tecnocode.co.uk/wp-content/cache/tex_a96c9362db1e6de7b3f1e9126fd0a8fc.png" align="absmiddle" class="tex" alt="\sim (a \lfloor \frac{b}{a} \rfloor + (b \bmod{a}) \lfloor \frac{a}{b \bmod{a}} \rfloor)" /></p>
<p>as the lengths of the substring for each iteration <img src="http://tecnocode.co.uk/wp-content/cache/tex_865c0c0b4ab0e063e5caa3387c1a8741.png" align="absmiddle" class="tex" alt="i" /> depend on the remainder of <img src="http://tecnocode.co.uk/wp-content/cache/tex_7756054cd009f0b026e285b9c68bb181.png" align="absmiddle" class="tex" alt="\frac{b}{a}" /> for the <img src="http://tecnocode.co.uk/wp-content/cache/tex_6f409906c2a29da07030a8cb6b0b76e0.png" align="absmiddle" class="tex" alt="i - 1" />th iteration. This complexity can be manipulated to prove that it&#8217;s also of complexity <img src="http://tecnocode.co.uk/wp-content/cache/tex_7ba55e7c64a9405a0b39a1107e90ca94.png" align="absmiddle" class="tex" alt="O(n)" />:</p>
<p><img class="aligncenter size-full wp-image-175" title="Substring swap working" src="http://tecnocode.co.uk/wp-content/uploads/2008/11/screenshot1.png" alt="" width="500" height="120" /></p>
<p>All-in-all, I&#8217;m quite pleased with the interview: even if I&#8217;m not successful, it&#8217;s given me an interesting problem to consider. Corrections and further thoughts on the problem are welcomed.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=OaoHN"><img src="http://feeds.feedburner.com/~f/drboblog?i=OaoHN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=pziBN"><img src="http://feeds.feedburner.com/~f/drboblog?i=pziBN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=ZwW5N"><img src="http://feeds.feedburner.com/~f/drboblog?i=ZwW5N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=L1Prn"><img src="http://feeds.feedburner.com/~f/drboblog?i=L1Prn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=CUown"><img src="http://feeds.feedburner.com/~f/drboblog?i=CUown" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/11/19/string-swap-algorithms/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/11/19/string-swap-algorithms/</feedburner:origLink></item>
		<item>
		<title>Almanah 0.5.0</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/454969415/</link>
		<comments>http://tecnocode.co.uk/2008/11/16/almanah-050/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 15:12:05 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Almanah]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=163</guid>
		<description><![CDATA[
It seems to be release week for me. Here&#8217;s Almanah Diary 0.5.0. Of note with this release is the support for text formatting (bold, italic and underline — nothing particularly fancy), persistent window dimensions, the ability to set the encryption key, and better recovery from database corruption/errors (although it&#8217;s still not perfect).
Packagers should note that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tecnocode.co.uk/wp-content/uploads/2008/11/screenshot-almanah-diary-1.png"><img class="alignright size-thumbnail wp-image-165" title="Almanah 0.5.0" src="http://tecnocode.co.uk/wp-content/uploads/2008/11/screenshot-almanah-diary-1-150x150.png" alt="Main window of Almanah 0.5.0." width="150" height="150" /></a></p>
<p>It seems to be release week for me. Here&#8217;s <a href="http://tecnocode.co.uk/projects/almanah/" title="The Almanah Diary homepage.">Almanah Diary</a> <a title="Download the source tarball for Almanah 0.5.0." href="http://tecnocode.co.uk/downloads/almanah-0.5.0.tar.gz">0.5.0</a>. Of note with this release is the support for text formatting (bold, italic and underline — nothing particularly fancy), persistent window dimensions, the ability to set the encryption key, and better recovery from database corruption/errors (although it&#8217;s still not perfect).</p>
<p>Packagers should note that the <a title="A feature-rich GUI toolkit." href="http://gtk.org/">GTK+</a> dependency has been bumped from 2.12 to 2.14, and the <a title="An application preference system." href="http://projects.gnome.org/gconf/">GConf</a> dependency is no longer optional — though the <a title="A GTK+-based spell checking system." href="http://gtkspell.sourceforge.net/">GtkSpell</a> dependency now is (as spell checking support is now optional).</p>
<p>I&#8217;ve now also completed the application name migration to &#8220;Almanah Diary&#8221;, and as such, the source is now at <a title="New SVN location for Almanah." href="http://svn.gnome.org/svn/almanah/">http://svn.gnome.org/svn/almanah/</a>, and localisation statistics are at <a title="New localisation statistics location for Almanah." href="http://l10n.gnome.org/module/almanah/">http://l10n.gnome.org/module/almanah/</a>.</p>
<p>Plans for future versions include:</p>
<ul>
<li>Proper accessibility support</li>
<li>Automatic link types (yes, this is a stupid name), so that (for example) past Evolution appointments would be shown for each day</li>
<li>Documentation</li>
<li>Export to blog, text file, HTML, etc.</li>
<li>Undo/Redo support</li>
</ul>
<p>The first three are what I&#8217;d like to definitely get done for 0.6.0, but before I can do that I need to sort out the naming for &#8220;links&#8221; and &#8220;automatic links&#8221;. Obviously these are rubbish names, especially considering one can currently add a &#8220;note link&#8221;. I had considered &#8220;attachments&#8221;, but that&#8217;s not much better. Does anyone have any ideas?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=68tRN"><img src="http://feeds.feedburner.com/~f/drboblog?i=68tRN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=YNjXN"><img src="http://feeds.feedburner.com/~f/drboblog?i=YNjXN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=NwO9N"><img src="http://feeds.feedburner.com/~f/drboblog?i=NwO9N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=dLZCn"><img src="http://feeds.feedburner.com/~f/drboblog?i=dLZCn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=1I8Dn"><img src="http://feeds.feedburner.com/~f/drboblog?i=1I8Dn" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/11/16/almanah-050/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/11/16/almanah-050/</feedburner:origLink></item>
		<item>
		<title>Motörhead</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/451106534/</link>
		<comments>http://tecnocode.co.uk/2008/11/12/motorhead/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 21:06:15 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[concert]]></category>

		<category><![CDATA[Danko Jones]]></category>

		<category><![CDATA[Motörhead]]></category>

		<category><![CDATA[Saxon]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=158</guid>
		<description><![CDATA[I went with a friend to see Motörhead in Leicester last night, and it was an awesome gig. Danko Jones and Saxon were supporting, and while I&#8217;ll give Danko Jones a miss in future, Saxon were great, even if their intro was sickeningly patriotic.
Motörhead themselves were absolutely amazing, playing a variety of stuff: new, old [...]]]></description>
			<content:encoded><![CDATA[<p>I went with a friend to see <a title="last.fm's events page on the concert." href="http://www.last.fm/event/580913">Motörhead in Leicester</a> last night, and it was an awesome gig. <a title="A Canadian hard rock band." href="http://www.dankojones.com/">Danko Jones</a> and <a title="A patriotic English heavy metal band." href="http://www.saxon747.com/">Saxon</a> were supporting, and while I&#8217;ll give Danko Jones a miss in future, Saxon were great, even if their intro was sickeningly patriotic.</p>
<p>Motörhead themselves were absolutely amazing, playing a variety of stuff: new, old and classic. Mikkey did a fairly hefty drum solo (easily the loudest part of a concert from which my right ear still hasn&#8217;t stopped ringing), and they managed to fit an acoustic number in, with Lemmy playing the harmonica. I&#8217;m told by a friend (whose uncle works for the venue) that Motörhead reached 118dB before the encore, which is not bad at all.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=lzAeN"><img src="http://feeds.feedburner.com/~f/drboblog?i=lzAeN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=Sp71N"><img src="http://feeds.feedburner.com/~f/drboblog?i=Sp71N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=aS7hN"><img src="http://feeds.feedburner.com/~f/drboblog?i=aS7hN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=s4nHn"><img src="http://feeds.feedburner.com/~f/drboblog?i=s4nHn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=Zpvgn"><img src="http://feeds.feedburner.com/~f/drboblog?i=Zpvgn" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/11/12/motorhead/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/11/12/motorhead/</feedburner:origLink></item>
		<item>
		<title>MCUS version 0.2.1</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/448781640/</link>
		<comments>http://tecnocode.co.uk/2008/11/10/mcus-version-021/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 20:28:21 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[GTK+]]></category>

		<category><![CDATA[MCUS]]></category>

		<category><![CDATA[NSIS]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=148</guid>
		<description><![CDATA[Here&#8217;s an announcement I&#8217;ve wanted to make for a while: I&#8217;m releasing my microcontroller simulator, MCUS. It&#8217;s a fairly simple simulator designed to aid in teaching the OCR 2008 A-level electronics syllabus to UK students. As far as I know, it&#8217;s the only simulator available which follows the new syllabus (for which OCR have deigned [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tecnocode.co.uk/wp-content/uploads/2008/10/screenshot-microcontroller-simulator.png"><img class="alignright size-thumbnail wp-image-142" title="MCUS screenshot" src="http://tecnocode.co.uk/wp-content/uploads/2008/10/screenshot-microcontroller-simulator-150x150.png" alt="" width="150" height="150" /></a>Here&#8217;s an announcement I&#8217;ve wanted to make for a while: I&#8217;m releasing my microcontroller simulator, MCUS. It&#8217;s a fairly simple simulator designed to aid in teaching the <a title="OCR's page on their 2008 A-level electronics syllabus." href="http://www.ocr.org.uk/qualifications/asa_levelgceforfirstteachingin2008/electronics/index.html">OCR 2008 A-level electronics syllabus</a> to UK students. As far as I know, it&#8217;s the only simulator available which follows the new syllabus (for which OCR have deigned to write their own simple assembly language, obsoleting any previous simulators used in schools).</p>
<p>It&#8217;s already had three releases (this is the fourth), but I didn&#8217;t want to make the 0.1.x releases too public, as they were mainly for testing the program at school. The 0.2.0 release was a brown paper bag release, due to a bad GTK+ version dependency, and some files necessary for the Windows zip package not being included.</p>
<p>It&#8217;s available on the <a title="Project page for MCUS Microcontroller Simulator." href="http://tecnocode.co.uk/projects/mcus/">MCUS project page</a>, with <a title="Download the MCUS 0.2.1 tarball." href="http://tecnocode.co.uk/downloads/mcus-0.2.1.tar.gz">0.2.1 being the latest release</a>. A <a title="Download the MCUS 0.2.1 Windows installer." href="http://tecnocode.co.uk/downloads/mcus-0.2.1.exe">Windows installer</a> is available too, built with <a title="A small and flexible Windows installer builder." href="http://nsis.sourceforge.net/">NSIS</a>; as well as a <a href="http://tecnocode.co.uk/downloads/mcus-0.2.1.zip" title="Download the MCUS 0.2.1 Windows zip package.">simple zip package</a> of the installed directory tree on Windows, since the program&#8217;s relocatable.</p>
<p>My school is already using it, and I&#8217;m releasing it in the hope of other schools being able to make use of it. As always, it&#8217;s open source, released under the GPLv3+.</p>
<p>Future plans include a graph to visualise the ADC waveform, and the addition of more simulated input and output hardware.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=yTLcN"><img src="http://feeds.feedburner.com/~f/drboblog?i=yTLcN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=0fhHN"><img src="http://feeds.feedburner.com/~f/drboblog?i=0fhHN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=Ko8aN"><img src="http://feeds.feedburner.com/~f/drboblog?i=Ko8aN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=J971n"><img src="http://feeds.feedburner.com/~f/drboblog?i=J971n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=9oS3n"><img src="http://feeds.feedburner.com/~f/drboblog?i=9oS3n" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/11/10/mcus-version-021/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/11/10/mcus-version-021/</feedburner:origLink></item>
		<item>
		<title>18</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/414556265/</link>
		<comments>http://tecnocode.co.uk/2008/10/08/18/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 06:42:54 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[birthday]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=133</guid>
		<description><![CDATA[
I&#8217;m now 18! Had a great birthday involving several nice meals and some pinball, and I&#8217;m looking forward to being able to do all the things I&#8217;m now legally allowed to do…such as buy scissors, or go to prison.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://picasaweb.google.com/philip.withnall/18thBirthday"><img class="alignright" title="18th birthday" src="http://lh5.ggpht.com/philip.withnall/SOxWAveaBCI/AAAAAAAADDQ/SDnHdpCkXjI/s128/IMGP1307.jpg" alt="" width="96" height="128" /></a><br />
I&#8217;m now 18! Had a great birthday involving several nice meals and some pinball, and I&#8217;m looking forward to being able to do all the things I&#8217;m now legally allowed to do…such as buy scissors, or go to prison.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=blJtM"><img src="http://feeds.feedburner.com/~f/drboblog?i=blJtM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=jcj9M"><img src="http://feeds.feedburner.com/~f/drboblog?i=jcj9M" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=Lk7MM"><img src="http://feeds.feedburner.com/~f/drboblog?i=Lk7MM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=oUQtm"><img src="http://feeds.feedburner.com/~f/drboblog?i=oUQtm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=egudm"><img src="http://feeds.feedburner.com/~f/drboblog?i=egudm" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/10/08/18/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/10/08/18/</feedburner:origLink></item>
		<item>
		<title>Back from Chile</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/367370354/</link>
		<comments>http://tecnocode.co.uk/2008/08/17/back-from-chile/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 16:49:14 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Chile]]></category>

		<category><![CDATA[World Challenge]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=129</guid>
		<description><![CDATA[
I got back from Chile three days ago, and now I&#8217;m sufficiently caught-up with the goings-on of the past four weeks, it&#8217;s time to summarise what I did on this World Challenge expedition.
The expedition was split into four different phases: acclimatisation, project, main trek, and rest and relaxation. After flying into Santiago (via Paris), we [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="La Campana" src="http://lh5.ggpht.com/philip.withnall/SKYCoEgXP7E/AAAAAAAABH4/-M7knpa63_4/s160-c/LaCampanaNationalPark.jpg" alt="The view from the top of La Campana, looking towards the Andes." width="160" height="160" /></p>
<p>I got back from Chile three days ago, and now I&#8217;m sufficiently caught-up with the goings-on of the past four weeks, it&#8217;s time to summarise what I did on this <a title="World Challenge are a group who organise expeditions for UK students." href="http://www.world-challenge.co.uk/">World Challenge</a> expedition.</p>
<p>The expedition was split into four different phases: acclimatisation, project, main trek, and rest and relaxation. After flying into Santiago (via Paris), we did our acclimatisation in <a title="Wikipedia page on La Campana National Park." href="http://en.wikipedia.org/wiki/La_Campana_National_Park">La Campana National Park</a>, climbing the eponymous mountain and camping for three nights. Climbing La Campana was tough, and in hindsight, probably tougher than the main trek up Guane Guane.</p>
<p>Our project phase was in <a title="Wikipedia page on Iquique." href="http://en.wikipedia.org/wiki/Iquique">Iquique</a>, where we re-painted an old people&#8217;s home, then part of the school in which we stayed. It was quite fulfilling, but somewhat longer than it could&#8217;ve been; we spent several days wandering around Iquique relaxing, when we could&#8217;ve instead had a longer main trek.</p>
<p>The main trek was in <a title="Wikipedia page on Lauca National Park." href="http://en.wikipedia.org/wiki/Lauca_National_Park">Lauca National Park</a> at high altitude; we had to spend several days acclimatising to 3500<acronym title="Metres Above Sea Level">masl</acronym> in <a title="Wikipedia page on Putre." href="http://en.wikipedia.org/wiki/Putre">Putre</a> before we could ascend to our base camp at <a title="Wikipedia page on Parinacota village." href="http://en.wikipedia.org/wiki/Parinacota%2C_Chile">Parinacota</a> (4500masl). At Parinacota we had to spend more time acclimatising, before we attempted (and succeeded) a climb up Guane Guane. The views up on the <a title="Wikipedia page on the altiplano." href="http://en.wikipedia.org/wiki/Altiplano">altiplano</a> were fantastic, and I&#8217;ve got (perhaps too?) many photos of llamas, alpacas and vicuñas.</p>
<p>Our rest and relaxation phase was a little short, but we managed to pack in most of the things <a title="Wikipedia page on San Pedro de Atacama." href="http://en.wikipedia.org/wiki/San Pedro de Atacama">San Pedro de Atacama</a> offers, including sandboarding, a trip round the <a title="Wikipedia page on the Valley of the Moon." href="http://en.wikipedia.org/wiki/Valle_de_la_Luna_(Chile)">Valley of the Moon</a> and a trip to see the <a title="Wikipedia page on the El Tatio geysers." href="http://en.wikipedia.org/wiki/El_Tatio">El Tatio geysers</a>.</p>
<p>I would definitely recommend this to anyone who has the time, money and driving force. Some of us are already thinking of going back to have an attempt on <a title="Wikipedia page on Mount Parinacota." href="http://en.wikipedia.org/wiki/Parinacota_Volcano">Mount Parinacota</a>!</p>
<p>I&#8217;m slowly putting <a title="View my photos of Chile." href="http://picasaweb.google.com/philip.withnall">photos up on Picasa</a> before I go off on holiday again for a week on Monday.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=uukW3K"><img src="http://feeds.feedburner.com/~f/drboblog?i=uukW3K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=hKb4DK"><img src="http://feeds.feedburner.com/~f/drboblog?i=hKb4DK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=Ov7SkK"><img src="http://feeds.feedburner.com/~f/drboblog?i=Ov7SkK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=tuKCSk"><img src="http://feeds.feedburner.com/~f/drboblog?i=tuKCSk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=sFNxAk"><img src="http://feeds.feedburner.com/~f/drboblog?i=sFNxAk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/08/17/back-from-chile/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/08/17/back-from-chile/</feedburner:origLink></item>
		<item>
		<title>Extended absence</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/331469252/</link>
		<comments>http://tecnocode.co.uk/2008/07/10/extended-absence/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 06:19:01 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[GNOME]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Almanah]]></category>

		<category><![CDATA[Chile]]></category>

		<category><![CDATA[Diary]]></category>

		<category><![CDATA[Fedora]]></category>

		<category><![CDATA[Hitori]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[World Challenge]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=127</guid>
		<description><![CDATA[The time has finally arrived, and I&#8217;m off on my travels in four days. I&#8217;ll be away from the computer for up to two months, spending a month trekking in Chile, then a month doing various other things. I might be back in time for the GNOME 2.24 string freeze, but I should definitely be [...]]]></description>
			<content:encoded><![CDATA[<p>The time has finally arrived, and I&#8217;m off on my travels in four days. I&#8217;ll be away from the computer for up to two months, spending a month trekking in Chile, then a month doing various other things. I might be back in time for the GNOME 2.24 string freeze, but I should definitely be back in time to see the release. In my absence, I obviously won&#8217;t be able to do any further work on this cycle, but I think all my current contributions are pretty much complete anyway. I won&#8217;t be replying to mail for at least the period I&#8217;m in Chile.</p>
<p>I won&#8217;t be around to see them get into the archives, but <a href="https://launchpad.net/~sebner" title="View Stefan's Launchpad page.">Stefan Ebner</a> has been working on packaging both <a href="http://tecnocode.co.uk/projects/diary" title="Diary's project page.">Diary</a> (now called &#8220;Almanah&#8221; due to <a href="https://bugzilla.redhat.com/show_bug.cgi?id=447751" title="Fedora bug report on packaging Diary.">Fedora issues</a>) and <a href="http://tecnocode.co.uk/projects/hitori" title="Hitori's project page.">Hitori</a> for Ubuntu. My thanks to him for his hard work on that, and patience in helping me fix all the nasty little autofoo problems.</p>
<p><del>I&#8217;ll try to make an Almanah (Diary) 0.4 release before I go, but I want to leave as long as possible for translations to catch up with the several string changes.</del><br />
<ins><a href="http://tecnocode.co.uk/downloads/almanah-0.4.0.tar.gz" title="Download the source for Almanah 0.4.0.">Almanah 0.4.0</a> is out! The main change for this release is to rename it and fix some problems preventing it being packaged, and so it should be compatible with old databases. The build requirements haven&#8217;t changed.</ins></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=j0y8dJ"><img src="http://feeds.feedburner.com/~f/drboblog?i=j0y8dJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=iVTH8J"><img src="http://feeds.feedburner.com/~f/drboblog?i=iVTH8J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=4CnobJ"><img src="http://feeds.feedburner.com/~f/drboblog?i=4CnobJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=dhVEoj"><img src="http://feeds.feedburner.com/~f/drboblog?i=dhVEoj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=SGjKwj"><img src="http://feeds.feedburner.com/~f/drboblog?i=SGjKwj" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/07/10/extended-absence/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/07/10/extended-absence/</feedburner:origLink></item>
		<item>
		<title>Hitori version 0.2</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/321548967/</link>
		<comments>http://tecnocode.co.uk/2008/06/27/hitori-version-02/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 19:41:03 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Hitori]]></category>

		<category><![CDATA[icon]]></category>

		<category><![CDATA[Tango]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=125</guid>
		<description><![CDATA[It&#8217;s been a long time coming, but here&#8217;s Hitori version 0.2!
As a short overview, the new version introduces:

Dynamic board sizing (allowing for boards from 5×5 to 10×10)
Rendering improvements, a Tangoisation, and a conversion to use GtkStyle
Relicense to GPLv3+
A new user manual!
Improvements to the algorithms, halving memory usage in the best case
A new icon by Jakub [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tecnocode.co.uk/wp-content/uploads/2008/06/hitori.png"><img class="alignright size-full wp-image-126" title="Hitori icon" src="http://tecnocode.co.uk/wp-content/uploads/2008/06/hitori.png" alt="" width="48" height="48" /></a>It&#8217;s been a long time coming, but here&#8217;s <a title="The Hitori project page." href="http://tecnocode.co.uk/projects/hitori/">Hitori</a> <a title="Download the tarball of Hitori 0.2." href="http://tecnocode.co.uk/downloads/hitori-0.2.tar.gz">version 0.2</a>!</p>
<p>As a short overview, the new version introduces:</p>
<ul>
<li>Dynamic board sizing (allowing for boards from 5×5 to 10×10)</li>
<li>Rendering improvements, a Tangoisation, and a conversion to use GtkStyle</li>
<li>Relicense to GPLv3+</li>
<li>A new user manual!</li>
<li>Improvements to the algorithms, halving memory usage in the best case</li>
<li>A new icon by <a title="Jakub's post on the new icon." href="http://cubestuff.wordpress.com/2008/06/25/hitori-goes-tango/">Jakub Szypulka</a></li>
<li>A desktop file</li>
</ul>
<p>Hitori now depends on GTK+ &gt;= 2.13, so it may not be easily compilable on some distributions, which is an unfortunate side-effect of using the new <code>gtk_show_uri</code> function.</p>
<p>As before, please <a title="Contact me about Hitori bugs!" href="http://tecnocode.co.uk/contact/">contact me</a> to report bugs.</p>
<p>I don&#8217;t really have any plans to extend the program any further, but if anybody has any ideas, I&#8217;m open to them.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=yrC6dI"><img src="http://feeds.feedburner.com/~f/drboblog?i=yrC6dI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=4zrQSI"><img src="http://feeds.feedburner.com/~f/drboblog?i=4zrQSI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=rvtVDI"><img src="http://feeds.feedburner.com/~f/drboblog?i=rvtVDI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=XaTB8i"><img src="http://feeds.feedburner.com/~f/drboblog?i=XaTB8i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=hJwAli"><img src="http://feeds.feedburner.com/~f/drboblog?i=hJwAli" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/06/27/hitori-version-02/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/06/27/hitori-version-02/</feedburner:origLink></item>
		<item>
		<title>Diary version 0.3</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/316367491/</link>
		<comments>http://tecnocode.co.uk/2008/06/20/diary-version-03/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:01:17 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Diary]]></category>

		<category><![CDATA[icon]]></category>

		<category><![CDATA[Tango]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=123</guid>
		<description><![CDATA[I&#8217;ve just released Diary 0.3.1. This is a pretty simple release, fixing a crasher bug, improving corner-case encryption behaviour, adding a French translation by Jean-François Martin, a swizz icon by Jakub Szypulka (and a corresponding desktop file), and finally adding basic search support.
There are no dependency or config changes with this release, so upgrading should [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tecnocode.co.uk/wp-content/uploads/2008/06/diary.png"><img class="alignright size-full wp-image-124" title="Diary icon" src="http://tecnocode.co.uk/wp-content/uploads/2008/06/diary.png" alt="" width="48" height="48" /></a>I&#8217;ve just released <a title="Download the tarball of Diary 0.3.1." href="http://tecnocode.co.uk/downloads/diary-0.3.1.tar.gz">Diary 0.3<ins>.1</ins></a>. This is a pretty simple release, fixing a crasher bug, improving corner-case encryption behaviour, adding a French translation by Jean-François Martin, a <a title="Jakub's post on the new icon." href="http://cubestuff.wordpress.com/2008/06/19/diary-goes-tango/">swizz icon by Jakub Szypulka</a> (and a corresponding desktop file), and finally adding basic search support.</p>
<p>There are no dependency or config changes with this release, so upgrading should be seamless. Any bugs should be reported to the <a title="Report bugs in Diary!" href="http://bugzilla.gnome.org/enter_bug.cgi?product=diary">Diary product on GNOME Bugzilla</a>.</p>
<p><ins><strong>Update</strong>: I&#8217;ve just released 0.3.1, which is a semi-brown-paper-bag release to fix build failure when compiling without encryption support, as well as fix the desktop file translation.</ins></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=BYOaRI"><img src="http://feeds.feedburner.com/~f/drboblog?i=BYOaRI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=DA0WxI"><img src="http://feeds.feedburner.com/~f/drboblog?i=DA0WxI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=8Wy5RI"><img src="http://feeds.feedburner.com/~f/drboblog?i=8Wy5RI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=0qco3i"><img src="http://feeds.feedburner.com/~f/drboblog?i=0qco3i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=yhZsJi"><img src="http://feeds.feedburner.com/~f/drboblog?i=yhZsJi" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/06/20/diary-version-03/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/06/20/diary-version-03/</feedburner:origLink></item>
		<item>
		<title>New totem-pl-parser product</title>
		<link>http://feeds.feedburner.com/~r/drboblog/~3/304439259/</link>
		<comments>http://tecnocode.co.uk/2008/06/04/new-totem-pl-parser-product/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 10:25:15 +0000</pubDate>
		<dc:creator>Philip Withnall</dc:creator>
		
		<category><![CDATA[GNOME]]></category>

		<category><![CDATA[Bugzilla]]></category>

		<category><![CDATA[Totem]]></category>

		<guid isPermaLink="false">http://tecnocode.co.uk/?p=118</guid>
		<description><![CDATA[Just a note: totem-pl-parser has moved out of the totem product in GNOME Bugzilla and into its own totem-pl-parser product. Sorry for all the bugspam moving the old bugs generated.
]]></description>
			<content:encoded><![CDATA[<p>Just a note: totem-pl-parser has moved out of the <a title="Totem on GNOME Bugzilla." href="http://bugzilla.gnome.org/browse.cgi?product=totem">totem product</a> in GNOME Bugzilla and into its own <a title="totem-pl-parser on GNOME Bugzilla." href="http://bugzilla.gnome.org/browse.cgi?product=totem-pl-parser">totem-pl-parser product</a>. Sorry for all the bugspam moving the old bugs generated.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/drboblog?a=kZFsUI"><img src="http://feeds.feedburner.com/~f/drboblog?i=kZFsUI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=8FfH8I"><img src="http://feeds.feedburner.com/~f/drboblog?i=8FfH8I" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=lse5DI"><img src="http://feeds.feedburner.com/~f/drboblog?i=lse5DI" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=WWUmci"><img src="http://feeds.feedburner.com/~f/drboblog?i=WWUmci" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/drboblog?a=ELfbDi"><img src="http://feeds.feedburner.com/~f/drboblog?i=ELfbDi" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://tecnocode.co.uk/2008/06/04/new-totem-pl-parser-product/feed/</wfw:commentRss>
		<feedburner:origLink>http://tecnocode.co.uk/2008/06/04/new-totem-pl-parser-product/</feedburner:origLink></item>
	</channel>
</rss>
