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

<channel>
	<title>Ciaran&#039;s Random Writings &#187; CiaranG</title>
	<atom:link href="http://ciarang.com/posts/author/ciarang/feed" rel="self" type="application/rss+xml" />
	<link>http://ciarang.com</link>
	<description>Random things I&#039;ve written about stuff</description>
	<lastBuildDate>Thu, 15 Mar 2012 12:59:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Batch re-naming epub files</title>
		<link>http://ciarang.com/posts/batch-re-naming-epub-files</link>
		<comments>http://ciarang.com/posts/batch-re-naming-epub-files#comments</comments>
		<pubDate>Thu, 15 Mar 2012 12:59:41 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1237</guid>
		<description><![CDATA[Problem &#8211; you have a directory full of epub files with names like 1234.epub and 4567.epub files, and what you&#8217;d really like to have is all those files organised into directories by author name, and the filenames themselves being of the form &#8220;Author &#8211; Title&#8221;. Solution &#8211; first, install Calibre, because it comes with a [...]]]></description>
			<content:encoded><![CDATA[<p><b>Problem</b> &#8211; you have a directory full of epub files with names like 1234.epub and 4567.epub files, and what you&#8217;d really like to have is all those files organised into directories by author name, and the filenames themselves being of the form &#8220;Author &#8211; Title&#8221;.</p>
<p><b>Solution</b> &#8211; first, install <a href="http://calibre-ebook.com/">Calibre</a>, because it comes with a handy command-line tool called ebook-meta that spits out all the metadata from a file. Then, from the directory where the files are, run this:</p>
<p><span id="more-1237"></span></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">shutil</span>, <span style="color: #dc143c;">subprocess</span>
&nbsp;
files = <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> filename <span style="color: #ff7700;font-weight:bold;">in</span> files:
    <span style="color: #ff7700;font-weight:bold;">if</span> filename.<span style="color: black;">endswith</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.epub'</span><span style="color: black;">&#41;</span>:
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Processing &quot;</span> + filename
&nbsp;
        <span style="color: #808080; font-style: italic;"># Use Calibre's ebook-meta to extract the metadata...</span>
        p = <span style="color: #dc143c;">subprocess</span>.<span style="color: black;">Popen</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'ebook-meta'</span>, filename<span style="color: black;">&#93;</span>,
                stdout=<span style="color: #dc143c;">subprocess</span>.<span style="color: black;">PIPE</span><span style="color: black;">&#41;</span>
        output = p.<span style="color: black;">communicate</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
        meta = <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> output.<span style="color: black;">splitlines</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
            index = line.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">' : '</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> index <span style="color: #66cc66;">!</span>= -<span style="color: #ff4500;">1</span>:
                i2 = line.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">' '</span><span style="color: black;">&#41;</span>
                meta<span style="color: black;">&#91;</span>line<span style="color: black;">&#91;</span>:i2<span style="color: black;">&#93;</span><span style="color: black;">&#93;</span> = line<span style="color: black;">&#91;</span>index + <span style="color: #ff4500;">3</span>:<span style="color: black;">&#93;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> meta.<span style="color: black;">has_key</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Author(s)'</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #ff7700;font-weight:bold;">not</span> meta.<span style="color: black;">has_key</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Title'</span><span style="color: black;">&#41;</span>:
            <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;...missing some data in &quot;</span> + filename + <span style="color: #483d8b;">&quot; - skipping&quot;</span>
            <span style="color: #ff7700;font-weight:bold;">continue</span>
&nbsp;
        <span style="color: #808080; font-style: italic;"># We just want the author name, not the sortable stuff at the end...</span>
        author = meta<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Author(s)'</span><span style="color: black;">&#93;</span>
        index = author.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">' ['</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> index <span style="color: #66cc66;">!</span>= -<span style="color: #ff4500;">1</span>:
            author = author<span style="color: black;">&#91;</span>:index<span style="color: black;">&#93;</span>
        title = meta<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Title'</span><span style="color: black;">&#93;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>author<span style="color: black;">&#41;</span>:
            <span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span>author<span style="color: black;">&#41;</span>
        destfile = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>author, author + <span style="color: #483d8b;">' - '</span> + title + <span style="color: #483d8b;">'.epub'</span><span style="color: black;">&#41;</span>
        <span style="color: #dc143c;">shutil</span>.<span style="color: black;">move</span><span style="color: black;">&#40;</span>filename, destfile<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;...moved to &quot;</span> + destfile</pre></div></div>

<p>So, for example, <i>973.epub</i> gets moved to <i>Peter Watts/Peter Watts &#8211; Behemoth.epub</i>. Files that can&#8217;t be parsed should hopefully be left alone. This should also be able to deal with lots of other ebook formats, if you change the two instances of &#8216;epub&#8217; in the script to something else.</p>
<p><small>Disclaimer: If you find this useful, that&#8217;s great &#8211; if accidentally deletes all the files on your system, don&#8217;t come crying to me.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/batch-re-naming-epub-files/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting EMF to SVG</title>
		<link>http://ciarang.com/posts/converting-emf-to-svg</link>
		<comments>http://ciarang.com/posts/converting-emf-to-svg#comments</comments>
		<pubDate>Thu, 02 Feb 2012 17:46:20 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1219</guid>
		<description><![CDATA[This is one of those &#8220;in case I ever need to do it again&#8221; posts. Converting EMF files to SVG files &#8211; sounds like it should be a simple task, translating from one vector format to another. It turned out not to be. However, in the end: find . -name '*.emf' -exec unoconv -f svg [...]]]></description>
			<content:encoded><![CDATA[<p>This is one of those &#8220;in case I ever need to do it again&#8221; posts. Converting EMF files to SVG files &#8211; sounds like it should be a simple task, translating from one vector format to another. It turned out not to be.</p>
<p>However, in the end:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'*.emf'</span> <span style="color: #660033;">-exec</span> unoconv <span style="color: #660033;">-f</span> svg <span style="color: #ff0000;">&quot;{}&quot;</span> \;</pre></div></div>

<p>successfully converted a nested directory structure full of .emf files to have their .svg equivalents alongside. Oh, and for some reason (I don&#8217;t care why) you have to run this first:</p>
<pre>
unoconv --listener &#038;
</pre>
<p>The key ingredient was <a href="http://dag.wieers.com/home-made/unoconv/">unoconv</a> (thankfully, Debian-packaged as unoconv), which also requires a load of openoffice and/or libreoffice stuff to make it work. There were a load of other possible ways of doing this that didn&#8217;t work, which I won&#8217;t even go into. Also, don&#8217;t even ask why I needed to do this in the first place.</p>
<p><b>Update:</b> After I&#8217;d finished, I realised I also needed EPS. Easy conversion, not so easy command due to various shell-related complications:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'*.svg'</span> <span style="color: #660033;">-exec</span> <span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-c</span> <span style="color: #ff0000;">'inkscape &quot;{}&quot; --export-eps=&quot;`dirname &quot;{}&quot;`/`basename &quot;{}&quot; .svg`.eps&quot;'</span> \;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/converting-emf-to-svg/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Evolution</title>
		<link>http://ciarang.com/posts/evolution</link>
		<comments>http://ciarang.com/posts/evolution#comments</comments>
		<pubDate>Mon, 19 Dec 2011 11:11:00 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1205</guid>
		<description><![CDATA[After many years as a dedicated user of Thunderbird as a mail and news client, along with the Lightning add-on for calendar and tasks, my list of gripes suddenly reached breaking point this week. I won&#8217;t go through them all, but here&#8217;s a small selection: Resource hoggery &#8211; this seems to be woven into the [...]]]></description>
			<content:encoded><![CDATA[<p>After many years as a dedicated user of Thunderbird as a mail and news client, along with the Lightning add-on for calendar and tasks, my list of gripes suddenly reached breaking point this week. I won&#8217;t go through them all, but here&#8217;s a small selection:</p>
<p><span id="more-1205"></span></p>
<ul>
<li>Resource hoggery &#8211; this seems to be woven into the fabric of all things Mozilla, and was responsible for me ditching Firefox for Chromium earlier this year. I know the response to this because I&#8217;ve heard it a million times &#8211; computers are getting faster, RAM is cheap. Well maybe, but I want to use my resources, they&#8217;re not yours to waste.</li>
<li>Thunderbird is a second class citizen. That&#8217;s my perception anyway. Mozilla is about web browsers and Thunderbird is dragged along and supported grudgingly. &#8220;But why would anyone want to use native clients for anything when they could access everything via a browser?&#8221; is what I keep hearing. I think that&#8217;s ridiculous and will always be wrong, but there you go.</li>
<li>Lightning is a third class citizen. It&#8217;s just another Thunderbird add-on, who cares? Again, just my perception, and no offence meant to the tiny and under-appreciated team who do excellent work on it.</li>
<li>I receive a meeting invitation, I accept it into a calendar, the response is sent via a different email address to the one that was invited.</li>
<li>The address book doesn&#8217;t sync with anything, e.g. CardDAV, WebDAV. That&#8217;s just insane, it&#8217;s nearly 2012. Oh, there are various third party add-ons, which I have used in the past, but due to version inflation or something, they are only occasionally compatible.</li>
</ul>
<p>Anyway, that list could go on forever. I didn&#8217;t set out to disparage Thunderbird or Mozilla. Thunderbird is good, just not for me any more. So let&#8217;s move on to the replacement.</p>
<p><a href="http://projects.gnome.org/evolution/">Evolution</a> is what&#8217;s taken the place of Thunderbird for me. I had a number of reservations about this, but so far it&#8217;s turned out to be excellent. All the problems I had with Thunderbird have gone away, right down to it using A FIFTH of the memory to do the same job faster than its bloated predecessor.</p>
<p>The migration wasn&#8217;t entirely trouble-free though. One of the biggest problems was that I tried to set it up to use real Trash and Junk folders for IMAP accounts. This is wrong, and not how IMAP is supposed to work, but everyone does it anyway. However, that functionality in Evolution just doesn&#8217;t work properly and you end up with messages you delete or move reappearing, and all kinds of other strange goings on. The answer is simply to just not do that, and let Evolution work with its own &#8216;virtual&#8217; versions of these folders, while using IMAP properly in the background.</p>
<p>Only time will tell if this was really a good move, but so far I&#8217;m very happy with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/evolution/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Design for Reading</title>
		<link>http://ciarang.com/posts/design-for-reading</link>
		<comments>http://ciarang.com/posts/design-for-reading#comments</comments>
		<pubDate>Fri, 25 Nov 2011 10:07:35 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Nuts]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1195</guid>
		<description><![CDATA[Via one of Tim Bray&#8217;s tab sweeps, which are always good for picking up something interesting you might have missed, I happened to click through to an article telling me all about how to publish things. The first point was &#8220;Design for Reading&#8221;, but as you will gather from the screenshot of what I saw, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ciarang.com/wp-content/uploads/2011/11/designforreading.png"><img src="http://ciarang.com/wp-content/uploads/2011/11/designforreading.png" alt="" title="Design for Reading" width="311" height="104" class="alignright size-full wp-image-1196" /></a></p>
<p>Via one of Tim Bray&#8217;s <a href="http://www.tbray.org/ongoing/When/201x/2011/11/24/Tab-Sweep">tab sweeps</a>, which are always good for picking up  something interesting you might have missed, I happened to click through to an <a href="http://inessential.com/2011/11/23/pub_rules">article</a> telling me all about how to publish things. The first point was &#8220;Design for Reading&#8221;, but as you will gather from the screenshot of what I saw, it didn&#8217;t seem like a worthwhile use of my time to go any further.</p>
<p><b>Update:</b> A fine bit of <a href="http://inessential.com/2011/11/28/optimizelegibility_harms_legibility_with">investigation and a workaround</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/design-for-reading/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Galaxy S Screen Replacement</title>
		<link>http://ciarang.com/posts/galaxy-s-screen-replacement</link>
		<comments>http://ciarang.com/posts/galaxy-s-screen-replacement#comments</comments>
		<pubDate>Fri, 05 Aug 2011 08:28:27 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1182</guid>
		<description><![CDATA[Whoops. That&#8217;s what happens when an &#8216;indestructible&#8217; AMOLED screen meets a stone driveway. To be fair, it must have to meet it at just the wrong angle, because I&#8217;ve dropped it zillions of times before without so much as a scratch. Impressively, despite the cracks covering the entire screen, and one point where there was [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen1.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen1" title="galaxyscreen1" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen1.jpg&amp;w=300&amp;h=" style="float:right; " /></a></p>
<p>Whoops. That&#8217;s what happens when an &#8216;indestructible&#8217; AMOLED screen meets a stone driveway. To be fair, it must have to meet it at just the wrong angle, because I&#8217;ve dropped it zillions of times before without so much as a scratch. Impressively, despite the cracks covering the entire screen, and one point where there was an actual hole going right through it, the touch screen and display still worked perfectly. What about fixing it though?</p>
<p><span id="more-1182"></span></p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen2.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen2" title="galaxyscreen2" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen2.jpg&amp;w=150&amp;h=" style="float:right; clear:both;" /></a></p>
<p>The glass, screen and digitizer on these are well and truly fixed together, so there&#8217;s no way of replacing just one of those components, which makes it quite an expensive bit of glass to break. I ordered a new one and set to work. The first job is getting inside, which is relatively easy &#8211; 7 screws come out, and then you can prise off the inner plastic cover.</p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen3.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen3" title="galaxyscreen3" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen3.jpg&amp;w=150&amp;h=" style="float:right; clear:both;" /></a></p>
<p>What you have now is a motherboard, with three ribbon cables coming through it. The largest of these is the one coming from the screen/digitizer below, and that&#8217;s the only one that really needs disconnecting. However, the one nearest the battery comes from the lower buttons and goes right under the screen. Mine was stuck to the back of the screen with the glue, and would have been quite likely to get broken if I&#8217;d have left it connected, so I was glad I disconnected all three.</p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen4.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen4" title="galaxyscreen4" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen4.jpg&amp;w=150&amp;h=" style="float:right; clear:both; " /></a></p>
<p>The next job is to detach the screen from the surround. It comes out forwards, and is glued in there. I have no idea how you&#8217;d get this out if it wasn&#8217;t already somewhat broken, and I can&#8217;t imagine being able to get a working unit out in one piece. It might be possible though. Anyway, in my case, because of the convenient existing hole in the glass, it was pretty easy to just chisel lots of it out with a screwdriver &#8211; quite a lot of it flying into my eyes in small pieces, but never mind. That left enough room to get under it and gently prise the rest of it out. You could probably do things like heating the glue a bit to make it easier but I didn&#8217;t need to.</p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen5.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen5" title="galaxyscreen5" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen5.jpg&amp;w=150&amp;h=" style="float:right; clear:both;" /></a></p>
<p>Now the trickiest bit. Look at the picture &#8211; the bit on the right is the back of the digitizer, with the some of the glass removed so it easily comes away from the phone. But you can see at the far end the sensors (and lights) for the two buttons, which are flimsy ribbon-cable type things, and stuck to the back of the digitizer with the glue that held the screen in. They need removing from there very carefully indeed.</p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen6.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen6" title="galaxyscreen6" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen6.jpg&amp;w=150&amp;h=" style="float:right; clear:both; " /></a></p>
<p>Now we have everything in pieces, or at least as far as we need to go. All that remains is to stick the new screen into place and connect everything back together. Putting it all together is dead easy compared to taking it apart &#8211; the only question being what to stick the screen back in with. I only had superglue, so I used that. I don&#8217;t fancy my chances of getting it off again though, so I don&#8217;t recommend it.</p>
<p><a href="http://ciarang.com/gallery/general/technical/galaxys/galaxyscreen7.jpg"><img class="ZenphotoPress_thumb ZenphotoPress_right alignright " alt="galaxyscreen7" title="galaxyscreen7" src="http://ciarang.com/gallery/zp-core/i.php?a=general/technical/galaxys&amp;i=galaxyscreen7.jpg&amp;w=150&amp;h=" style="float:right; clear:both; " /></a></p>
<p>Given that you&#8217;re having to glue it back together, it&#8217;s a very good idea to make sure the new part works properly, and that you haven&#8217;t broken any old ones, before you do it. By plugging in the screen&#8217;s ribbon cable from the wrong side of the motherboard, you can actually fire everything up and test it without reassembling anything. According to the on-screen clock it took only an hour to get to this point, from starting, and that includes fending off three small children throughout. From here to a completely reassembled phone is 5 minutes at most.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/galaxy-s-screen-replacement/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aboyne (vb)</title>
		<link>http://ciarang.com/posts/aboyne-vb</link>
		<comments>http://ciarang.com/posts/aboyne-vb#comments</comments>
		<pubDate>Fri, 08 Jul 2011 08:12:36 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Nuts]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1174</guid>
		<description><![CDATA[As defined by Douglas Adams and John Lloyd in The Meaning of Liff, to aboyne is to beat an expert at a game of skill by playing so appallingly that none of his clever tactics or strategies are of any use to him. I read that definition this morning and was immediately reminded of the [...]]]></description>
			<content:encoded><![CDATA[<p>As defined by Douglas Adams and John Lloyd in <a href="http://en.wikipedia.org/wiki/The_Meaning_of_Liff">The Meaning of Liff</a>, to aboyne is to <i>beat an expert at a game of skill by playing so appallingly that none of his clever tactics or strategies are of any use to him</i>.</p>
<p>I read that definition this morning and was immediately reminded of the chess game reproduced below. Now, I&#8217;m no chess master at the best of times, and particularly not when playing 3 minute blitz. I keep doing that though, which is quite silly because it seems to me you should only play at that speed (if at all) when you&#8217;re already extremely good. Playing like that when you&#8217;re not good makes you worse. The point being that I&#8217;m not making any excuses for my appalling play, triumphant thought it turned out to be. I just thought it was a funny game, worth preserving:</p>
<div class='chessboard-wrapper'><textarea id='pgn4web_c71d3f50' style='display:none;' cols='40' rows='8'>   [Event "FICS rated blitz game"]  [Site "FICS, San Jose, California USA"]  [Date "2011.07.06"]  [Time "23:04:11"]  [Round "-"]  [White "CiaranG"]  [Black "Astronominoff"]  [WhiteElo "1051"]  [BlackElo "1520"]  [TimeControl "300+0"]  [Mode "ICS"]  [Result "1-0"]   1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Nd4 Qh4+ 6. Kf1 Nf6 7. Nf5 Qh5  8. Nc3 d6 9. d4 Bxf5 10. exf5 Nbd7 11. Bxf4 O-O-O 12. h3 Nb6 13. Be2 d5  14. Kg1 Rg8 15. hxg4 Qxh1+ 16. Kxh1 Ne4 17. Nxe4 dxe4 18. a3 Nd5 19. Bh2  Bh6 20. Bc4 Ne3 21. Qe2 Nxg4 22. Bxf7 Rg7 23. Be6+ Kb8 24. f6 Rg6 25. d5  Nxf6 26. Qc4 Rf8 27. Qxc7+ Ka8 28. Rf1 Bg5 29. d6 Rh6 30. d7 Nh5 31. Qc8+  Rxc8 32. dxc8=Q#  {Black checkmated} 1-0   </textarea><iframe src='http://ciarang.com/wp-content/plugins/embed-chessboard/pgn4web/board.html?am=none&amp;d=3000&amp;ig=f&amp;iv=0&amp;ih=16&amp;ss=26&amp;ps=d&amp;pf=d&amp;lch=F6F6F6&amp;dch=E0E0E0&amp;bbch=E0E0E0&amp;hm=b&amp;hch=ABABAB&amp;bd=c&amp;cbch=F0F0F0&amp;ctch=696969&amp;hd=j&amp;md=f&amp;tm=13&amp;fhch=000000&amp;fhs=14&amp;fmch=000000&amp;fcch=808080&amp;hmch=E0E0E0&amp;fms=14&amp;fcs=m&amp;cd=i&amp;bch=FFFFFF&amp;fp=13&amp;hl=f&amp;fh=500&amp;fw=p&amp;pi=pgn4web_c71d3f50' frameborder='0' width='100%' height='500' scrolling='no' marginheight='0' marginwidth='0'>your web browser and/or your host do not support iframes as required to display the chessboard; alternatively your wordpress theme might suppress the html iframe tag from articles or excerpts</iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/aboyne-vb/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Books (chapter six)</title>
		<link>http://ciarang.com/posts/books-chapter-six</link>
		<comments>http://ciarang.com/posts/books-chapter-six#comments</comments>
		<pubDate>Wed, 06 Jul 2011 22:03:31 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1167</guid>
		<description><![CDATA[Time to try and catch up with the &#8220;what books I&#8217;ve been reading&#8221; thing. Here&#8217;s a partial list since last time. I&#8217;ll let the rest roll over into the next one, and I&#8217;ll be more brief than ever about these&#8230; Calumet &#8216;K&#8217; &#8211; Samuel Merwin: Brilliant. An Anarchist &#8211; Joseph Conrad: Still on a mission [...]]]></description>
			<content:encoded><![CDATA[<p>Time to try and catch up with the &#8220;what books I&#8217;ve been reading&#8221; thing. Here&#8217;s a partial list since <a href="http://ciarang.com/posts/books-chapter-five">last time</a>. I&#8217;ll let the rest roll over into the next one, and I&#8217;ll be more brief than ever about these&#8230;</p>
<p><span id="more-1167"></span></p>
<p><b>Calumet &#8216;K&#8217; &#8211; Samuel Merwin</b>: Brilliant.</p>
<p><b>An Anarchist &#8211; Joseph Conrad</b>: Still on a mission to read all his books. This one was great&#8230;</p>
<p><b>Nostromo &#8211; Joseph Conrad</b>: &#8230;this was even better &#8211; probably the best so far&#8230;</p>
<p><b>The Duel &#8211; Joseph Conrad</b>: &#8230;also great&#8230;</p>
<p><b>Typhoon &#8211; Joseph Conrad</b>: &#8230;and this too. Another plotless wonder, like The Secret Sharer (see <a href="http://ciarang.com/posts/books-chapter-five">previous list</a>).</p>
<p><b>The Metamorphosis &#8211; Franz Kafka</b>: I enjoyed this, but couldn&#8217;t really see how it&#8217;s worthy of so much acclaim. Also I wished all the way through that I could read German well enough to read it in its original language.</p>
<p><b>The Trial &#8211; Franz Kafka</b>: As above, but more Kafkaesque.</p>
<p><b>Eastern Standard Tribe &#8211; Cory Doctorow</b>: Liked it.</p>
<p><b>Down and Out in the Magic Kingdom &#8211; Cory Doctorow</b>: Loved it.</p>
<p><b>When Sysadmins Ruled the World &#8211; Cory Doctorow</b>: Silly.</p>
<p><b>The Curious Case of Benjamin Button &#8211; Francis Scott Fitzgerald</b>: Very poor indeed. Do not waste your time reading this under any circumstances. If you&#8217;re stranded on a desert island and this is the only book you have, get your scissors (you remembered those, surely?), cut out all the words, and rearrange them to form something worth reading.</p>
<p><b>Burn &#8211; James Patrick Kelly</b>: Very good.</p>
<p><b>At the Mountains of Madness &#8211; Howard Phillips Lovecraft</b>: Great.</p>
<p><b>The Case of Charles Dexter Ward &#8211; Howard Phillips Lovecraft</b>: Good.</p>
<p><b>Anthem &#8211; Ayn Rand</b>: Wonderful, apart from the last chapter which should have just been left out. We got the message. Spelling it out in great big letters spoils it.</p>
<p><b>Postsingular &#8211; Rudy Rucker</b>: Enjoyed it.</p>
<p><b>Captain Blood &#8211; Rafael Sabatini</b>: Fantastic. Rafael Sabatini will be my new Joseph Conrad &#8211; must read everything. Although I haven&#8217;t finished with Conrad yet.</p>
<p><b>Star Maker &#8211; William Olaf Stapledon</b>: Hmm.</p>
<p><b>Five Weeks in a Balloon &#8211; Jules Verne</b>: A brilliant novel.</p>
<p><b>In the Year 2889 &#8211; Jules Verne</b>: Crafty. Published under his name, but actually written by his son, who did not, at least judging by this, inherit any writing talent. Dreadful. Maybe I will get my children to write my blog posts in future. It might work the other way round in my case.</p>
<p><b>2 B R O 2 B &#8211; Kurt Vonnegut</b>: A short story, but nowhere near short enough. Approximately zero words would have been about right for this.</b></p>
<p><b>Starfish &#8211; Peter Watts</b>: Superb. Read it. No excuses, it&#8217;s Creative Commons. Just download it and read it&#8230;</p>
<p><b>Maelstrom &#8211; Peter Watts</b>: &#8230;then read this&#8230;</p>
<p><b>Behemoth &#8211; Peter Watts</b>: &#8230;then read this&#8230;</p>
<p><b>Blindsight &#8211; Peter Watts</b>: &#8230;and then read this.</p>
<p><b>Bella Mafia &#8211; Lynda LaPlante</b>: I&#8217;ve been rude about her writing more than once before, so I won&#8217;t do it again. But in any case, I couldn&#8217;t put the bloody thing down.</p>
<p><b>Divided in Death &#8211; J.D. Robb</b>: Very good.</p>
<p>By the way, you may have noticed that most of the above are either Creative Commons licensed, or just plain out of copyright. There is <a href="http://ciarang.com/posts/pirate-culture">a good reason</a> for that.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/books-chapter-six/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Royal Wedding Commemorative Shelf</title>
		<link>http://ciarang.com/posts/royal-wedding-commemorative-shelf</link>
		<comments>http://ciarang.com/posts/royal-wedding-commemorative-shelf#comments</comments>
		<pubDate>Fri, 29 Apr 2011 20:11:34 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Nuts]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1164</guid>
		<description><![CDATA[I made a shelf today, which I have decided is going to be called the Royal Wedding Commemorative Shelf. I&#8217;m going to paint that on the bottom, perhaps with an appropriately tacky picture if I&#8217;m feeling artistic at the time &#8211; just to give some future DIY freak a &#8220;WTF?&#8221; moment when they inevitably rip [...]]]></description>
			<content:encoded><![CDATA[<p>I made a shelf today, which I have decided is going to be called the Royal Wedding Commemorative Shelf. I&#8217;m going to paint that on the bottom, perhaps with an appropriately tacky picture if I&#8217;m feeling artistic at the time &#8211; just to give some future DIY freak a &#8220;WTF?&#8221; moment when they inevitably rip it out.</p>
<p>Actually, to be honest, they&#8217;ll be saying that anyway on account of it not being cut even remotely straight due to me blasting through a sheet of plywood a metre in one direction and half a metre in another with a jigsaw, by hand, without even marking a line. I might mask the curvy edges with filler, or I might not bother.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/royal-wedding-commemorative-shelf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pirate Culture</title>
		<link>http://ciarang.com/posts/pirate-culture</link>
		<comments>http://ciarang.com/posts/pirate-culture#comments</comments>
		<pubDate>Sat, 12 Feb 2011 00:07:53 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[Nuts]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1154</guid>
		<description><![CDATA[TL;DR &#8211; Take your DRM and sling your hook It all started when I finished reading one book and got a few pages into another I didn&#8217;t really want to read. It occurred to me that it must be about time for another Ian M. Banks book to be out (it&#8217;s been this long since [...]]]></description>
			<content:encoded><![CDATA[<p><b>TL;DR &#8211; Take your DRM and sling your hook</b></p>
<p>It all started when I finished reading one book and got a few pages into another I didn&#8217;t really want to read. It occurred to me that it must be about time for another Ian M. Banks book to be out (it&#8217;s been <a href="http://ciarang.com/posts/more-books">this long</a> since I read the last</a>), and perhaps even one of his Culture novels. Sure enough, it turned out that that Surface Detail came out last year.</p>
<p>One snag &#8211; after years of stubborn nay-saying, I&#8217;ve finally come to the conclusion that ebooks are good thing, for various reasons which I&#8217;ll save for another day. This shouldn&#8217;t have been a snag, of course, it should have made it easy &#8211; instead of an hour&#8217;s round trip to the bookshop, complete with the costs of petrol and parking and the need to mingle with shoppers, I could have had it there and then. Or, relatively painlessly if I was prepared to wait for the postman.</p>
<p><span id="more-1154"></span></p>
<p>So the theory sounded good &#8211; pay for ebook, download ebook, read ebook. First stop, <a href="http://www.iain-banks.net">Iain Banks&#8217;</a> web site. Well it seemed like a good idea at the time. Admittedly, deeply buried within I did find a link to the publisher&#8217;s site, where I could order the book for nearly three times the price Amazon are selling it for. But as for e-books &#8211; forget it. Oh, but wait, there was a whole &#8220;Ebook News&#8221; section. Unfortunately, all that it contained was some <a href="http://www.iain-banks.net/2010/06/28/launched-this-week-official-iain-banks-iphone-app/">blurb</a> about an &#8216;app&#8217; for some nasty locked-down fruit-based device. You buy the book, then you scan the QR code with your fruitphone, and you get some extra goodies. Or something. It ended like this:</p>
<blockquote><p>
So unlocking the &#8216;story beyond the story&#8217; with one of the world&#8217;s leading publishers is an extraordinary project and a UK first that will quite simply transform the reading experience for ever.
</p></blockquote>
<p>After I&#8217;d cleaned the vomit off my screen, I went looking elsewhere.</p>
<p>Options, not many: Amazon would sell me a copy, but only if I bought one of their Digital Restrictions Management-riddled devices, or alternatively, tainted my nice device with their malware. Alternatively, WH Smith seemed happy to sell me it, but the very small print hidden at the bottom of the page before (I suppose I should be thankful for that) you buy indicates that you have to install some Adobe-crap to be able to actually read your not-at-all-cheap purchase. Waterstones were slightly better, in that they revealed the presence of the deal-breaking DRM clearly.</p>
<p>So, about this DRM shite. Even if I was prepared to install any of this maladjusted proprietary software, it&#8217;s not even compatible with any of the computers or handheld devices I have now, let alone any I may decide to buy in the future. Even if it was, I&#8217;d have to be prepared to jump through all the ridiculous &#8220;register your thing here&#8221;, &#8220;authorise your computer there&#8221; and &#8220;link your device to your whatjamacallit&#8221; hoops. And if I ever found it suddenly wouldn&#8217;t let me read my book, well no problem, I could just phone them up (Monday-Friday: 9am-6pm).</p>
<p>How does all this rigmarole benefit me exactly? Well, it means I won&#8217;t accidentally read my book on more than the maximum number of devices they&#8217;ve decided I&#8217;m allowed to ever have. Or commit the crime of reading it on a device they haven&#8217;t thought of yet. Or worse, still be able to read it after they&#8217;ve gone out of business, which will hopefully be soon. Or, and this is the worst thing of all, I might let *you* read it. In short, this is all to prevent me from &#8216;stealing&#8217; the thing I bought.</p>
<p>I can&#8217;t help but liken this to a trip to a supermarket where they make you dress up at the door in a white pocketless suit and gloves and follow you round with a megaphone shouting at you to keep your hands on your head at all times unless retrieving (with prior permission) an item from the shelf. They need your passport, two copies of your driving license, and a letter from your long lost Aunt Sally before you can get in. Oh, and then they insist on coming home with you to make sure you don&#8217;t eat your tomatoes in an unauthorised part of the house, They leave an armed robot behind to make sure you don&#8217;t do it when they&#8217;ve gone. And they reserve the right to burgle you in the middle of the night and take the milk back if they discover you&#8217;ve put it in an unapproved brand of fridge. They never need to do this though, the milk is booby trapped &#8211; it will automatically explode if you try that.</p>
<p>Of course, few people shop at this supermarket. They&#8217;d like to shop somewhere else, but unfortunately the place has a monopoly on tomatoes and milk. But there&#8217;s a secret. If you go round the back, you can just pick up as much stuff as you like from the goods yard. It&#8217;s the exact same stuff, but without the armed robots and booby traps. The only catch is that you like the cows that make the milk and feel they ought to get paid, but the only way that can happen is to allow yourself to be treated like a fool and a criminal.</p>
<p>Ok, enough of the stupid analogy. It was quite hard to find places to buy the ebook, because search results everywhere were swamped with places I could download it for nothing. Piracy, they like to call it, although I&#8217;ve always failed to see how you can compare making an unauthorised copy of some digital data with robbery and murder on the high seas. Or let&#8217;s call it theft &#8211; I steal something from you, and you&#8217;ve still got it. That can&#8217;t be right either. Anyway, let&#8217;s stick with the pirate word, it&#8217;s funniest. After an hour of trying to hand over my money, and being treated like an idiot and a crook for my troubles, I decided to try the other way. Within twenty seconds, I had the goods. No strings attached. No slurs on my character, irritating registrations and authorisations, no technical problems, and no fear of the book suddenly becoming useless in the future.</p>
<p>This is a very poor state of affairs, is it not? Try and pay, and you get shat on from a great height. Or take the pirate&#8217;s way, and everything is plain sailing. Of course, we&#8217;ve been through all that with the music industry already &#8211; I went from someone who would happily go out several times a week and return with a bag full of records and CDs, to someone who wouldn&#8217;t give a penny of my money to that industry if my life depended on it. Luckily we&#8217;ve finally reached the point where musicians can do without the parasites and take money direct from me.</p>
<p>As for the book, don&#8217;t be expecting it to appear in my next list of what I&#8217;ve been reading. After a quick skim to confirm it was the genuine article, I deleted it. I&#8217;m sure it&#8217;s every bit as good as its predecessors, all of which I&#8217;ve avidly read, but I suddenly have no appetite for it. Until such a time as Iain Banks is prepared to accept a simple exchange of some money in return for the excellent words he&#8217;s written (and preferably without all the obsolete middlemen involved) there&#8217;s plenty else for me to be reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/pirate-culture/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Addresses</title>
		<link>http://ciarang.com/posts/addresses</link>
		<comments>http://ciarang.com/posts/addresses#comments</comments>
		<pubDate>Mon, 13 Dec 2010 12:54:41 +0000</pubDate>
		<dc:creator>CiaranG</dc:creator>
				<category><![CDATA[Nuts]]></category>

		<guid isPermaLink="false">http://ciarang.com/?p=1150</guid>
		<description><![CDATA[Not particularly topical or relevant to anything, but Longrider just reminded me about it by complaining about people not addressing letters properly. If you don&#8217;t know the address, the answer is simple &#8211; draw a map: Obviously this worked, otherwise I wouldn&#8217;t ever have seen it. It was eight years ago, but I still suspect [...]]]></description>
			<content:encoded><![CDATA[<p>Not particularly topical or relevant to anything, but <a href="http://www.longrider.co.uk/blog/2010/12/12/going-postal/">Longrider</a> just reminded me about it by complaining about people not addressing letters properly.</p>
<p>If you don&#8217;t know the address, the answer is simple &#8211; draw a map:</p>
<p><center><a href="http://ciarang.com/gallery/general/mrspostie.jpg"><img class="ZenphotoPress_thumb " alt="Addressing a postcard" title="Addressing a postcard" src="http://ciarang.com/gallery/zp-core/i.php?a=general&amp;i=mrspostie.jpg&amp;w=400&amp;h="  /></a></center></p>
<p>Obviously this worked, otherwise I wouldn&#8217;t ever have seen it. It was eight years ago, but I still suspect the perpetrator of this crime against postal workers is going to pop up in the comments and identify himself. Let&#8217;s see&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ciarang.com/posts/addresses/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

