<?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>Tom Andrews</title>
	<atom:link href="http://www.tomandrews.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomandrews.co.uk</link>
	<description>Coding, Technology, Films and Games.</description>
	<lastBuildDate>Sat, 20 Feb 2010 12:09:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MS SQL with insert into select</title>
		<link>http://www.tomandrews.co.uk/2010/01/28/ms-sql-with-insert-into-select/</link>
		<comments>http://www.tomandrews.co.uk/2010/01/28/ms-sql-with-insert-into-select/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:25:34 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=144</guid>
		<description><![CDATA[Today at work I had to debug an MS SQL Stored Procedure that I wrote and ran fine on the internal test systems but not on the customer&#8217;s pilot site; as is the case with strange failures. The script was cloning a row so it could be modified later without effecting the original. To do [...]]]></description>
			<content:encoded><![CDATA[<p>Today at work I had to debug an MS SQL Stored Procedure that I wrote and ran fine on the internal test systems but not on the customer&#8217;s pilot site; as is the case with strange failures. The script was cloning a row so it could be modified later without effecting the original. To do this I performed an insert with a select as below:</p>
<p>[ccn_sql]<br />
insert into exampleTbl<br />
	(a, b, c, link) &#8212; &#8230;etc&#8230;<br />
	select<br />
		a, b, c, @new_entity &#8212; &#8230;etc&#8230;<br />
	from<br />
		exampleTbl<br />
	where<br />
		link = @old_entity<br />
		and id not in (&#8216;1&#8242;,&#8217;2&#8242;)<br />
[/ccn_sql]</p>
<p>The stored procedure contained 3 queries doing similar things to those above (only 1 with the not in); the id was indexed. The query was timing out (even with a timeout of 30 seconds) when executed the C#/ASP.NET website on the customer test system. I was highly confused when I saw this taking so long. What had happened?! The select ran effectively instantaneously on the customer system and only ever returned very few rows a maximum of 5 with all my test data. How could it take more than 10 seconds (unscientifically split between the 3 queries) to retrieve and insert 15 rows?! So the investigation began&#8230;</p>
<p>A colleague of mine mentioned that it could be to do with the not in. This would scan all (1.3 million) rows in the table which could take a while even when using the index. Some further investigation discovered that this was not the case as all 3 versions of the insert ran equally as slow &#8211; with <em>and</em> without the not in!</p>
<p>I then spent some time trying to find another part of the system inserting into this somewhat populated table and checked to see how it ran expecting equally dogged performance, but this was not the case. The code was similar to that below:</p>
<p>[ccn_sql]<br />
insert into exampleTbl<br />
	(guid)<br />
values<br />
	(&#8217;some guid&#8217;)</p>
<p>update exampleTbl<br />
set a = &#8216;1&#8242;, b = &#8216;hello&#8217;, c = &#8216;dave&#8217; &#8212; ..etc&#8230;<br />
where guid = &#8217;some guid&#8217;<br />
[/ccn_sql]</p>
<p>This code generated the guid in the C# inserted it and then updated that row with the rest of the data.</p>
<p>So as this alternate method was running fast it and meant my issue was either to do with the large number of parameters (20-ish) being used during the insert or the use of the select. The former seemed too common to cause such a huge issue even with 1.3 million rows in the table; it must be the select. However I had already found that the select was executing near instantaneously outside of the insert and was very sceptical that creating a table variable would fix the issue. Surely MS SQL was running it just the same inside as out so the issue must lie with the overpopulated insert. But I had to test it as this was all really guess work with no numbers to back it up. So I added the table variable and SHAZAM it worked near instantly! &gt;30 seconds down to &lt;200 milliseconds. WIN! + confusion.</p>
<p>All I can say is that I will never be using a select in an insert statement without first performing any work on a table variable so that it only has what it needs and inserts that. This raises the question of what the query optimiser is doing when it encounters an insert with a select? Surely it can&#8217;t be too crazy to ask for a select in an insert to run just as fast outside of it?! Either way it was a fun 2 hour debugging session and I&#8217;m glad I got to the bottom of it&#8230; eventually.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2010/01/28/ms-sql-with-insert-into-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epguides.com Ubiquity command</title>
		<link>http://www.tomandrews.co.uk/2010/01/24/epguides-com-ubiquity-command/</link>
		<comments>http://www.tomandrews.co.uk/2010/01/24/epguides-com-ubiquity-command/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 17:33:32 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/2010/01/24/epguides-com-ubiquity-command/</guid>
		<description><![CDATA[So over the past week I have written another ubiquity command. This time it is for epguides.com to easily find the date of when the last episode of a particular TV show was and when the next one will be.
Here is a quick demo video I made. With actual commentary and editing this time!

The command [...]]]></description>
			<content:encoded><![CDATA[<p>So over the past week I have written another <a href="http://mozillalabs.com/ubiquity/" target="_blank" title="Mozilla's Ubiquity">ubiquity</a> command. This time it is for <a href="http://www.epguides.com" target="_blank" title="Epguides.com"/>epguides.com</a> to easily find the date of when the last episode of a particular TV show was and when the next one will be.</p>
<p>Here is a quick demo video I made. With actual commentary and editing this time!</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8923141&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=1&amp;amp;amp;show_portrait=0&amp;amp;amp;color=&amp;amp;amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8923141&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=1&amp;amp;amp;show_portrait=0&amp;amp;amp;color=&amp;amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p>The command only took about 3 hours once I got my development environment <a href="http://macromates.com/" target="_blank" title="TextMate - Editor"/>set</a> <a href="http://github.com/tgandrews/ubiquity-commands" target="_blank" title="github - Version Control">up</a>.</p>
<p>You can subscribe to the command by visiting the <a href="~/projects/ubiquity-commands" target="_blank" alt="Ubiquity Commands">project page</a> with ubiquity installed in Firefox.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2010/01/24/epguides-com-ubiquity-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Brothers Awesome</title>
		<link>http://www.tomandrews.co.uk/2010/01/17/the-brothers-awesome/</link>
		<comments>http://www.tomandrews.co.uk/2010/01/17/the-brothers-awesome/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:53:09 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[The Brothers Bloom]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/2010/01/17/the-brothers-awesome/</guid>
		<description><![CDATA[Before the catastrophic failure that befell me yesterday I watched The Brothers Bloom.
My expectations for this film were already through the roof after seeing some of the reviews it was getting and the fact it was made by Rian Johnson who made Brick a film that 2 1 of my servers are named after. But, [...]]]></description>
			<content:encoded><![CDATA[<p>Before the catastrophic failure that befell me <a href="http://twitter.com/tgandrews/statuses/7822978999" title="Epic fail">yesterday</a> I watched <a href="" title="http://www.imdb.com/title/tt0844286/">The Brothers Bloom</a>.</p>
<p>My expectations for this film were already through the roof after seeing some of the <a href="http://revision3.com/trs/simulacrum#seek=248:769" title="Totally Rad Show reviews The Brothers Bloom">reviews</a> it was getting and the fact it was made by <a href="http://www.imdb.com/name/nm0426059/" title="Rian Johnson on IMDB">Rian Johnson</a> who made <a href="http://www.imdb.com/title/tt0393109/" title="Brick on IMDB">Brick</a> a film that <del>2</del> 1 of my servers are named after. But, what can I say? I loved it! I was rewatching it when my server fell over (because it was too awesome &#8211; that kills hard drives doesn&#8217;t it?) and less than 48 hours after my first viewing.</p>
<p>Every great film has a great opening and this film is no different. As I don&#8217;t want to spoil the film too much for you there is just the original sketches and I believe Rian Johnson doing the voice over.</p>
<p><object width="400" height="170"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6968245&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=1&amp;amp;amp;show_portrait=0&amp;amp;amp;color=&amp;amp;amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6968245&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=1&amp;amp;amp;show_portrait=0&amp;amp;amp;color=&amp;amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="170"></embed></object></p>
<p>The dialogue in this film is spectacular; witty, genuinely funny and multilayered. Brick was very dialogue heavy and some people didn&#8217;t like it because it was quite tricky to follow but The Brothers Bloom is much more &#8220;middle of the road&#8221;. It is less stylised and hence uses common language which helps to make the whole film much more approachable and the characters more relatable. The depth of the characters wrapped up in the lines of dialogue is vast and complex and just increases on repeat viewings. Unlike most &#8220;mystery&#8221; films made recently this film makes sure you are never sure what is really true at any point during the film. I kept watching as I wanted to know what was really happening.</p>
<p>Interesting characters and good acting builds upon the script and directing with <a href="http://www.imdb.com/name/nm0001838/" title="Rachael Weisz on IMDB">Rachael Weisz</a> as Penelope was awesome; a character that grows over the film and still keeps an air of mystery about her. <a href="http://www.imdb.com/name/nm0749263/" title="Mark Ruffalo on IMDB">Mark Ruffalo</a> and <a href="http://www.imdb.com/name/nm0004778/" title="Adrien Brody on IMDB">Adrien Brody</a> were great as the brothers Stephen and Bloom respectively. Their relationship while flawed is both complex and completely believable especially as you learn more about them over the film. <a href="http://www.imdb.com/name/nm0452860/" title="Rinko Kikuchi on IMDB">Rinko Kikuchi</a> as Bang Bang says more than a nearly mute character ever has.</p>
<p>As I said at the beginning this is a great film and one I recommend everyone goes out and rents straight away and I must say it looks stunning on Blu-Ray although you wouldn&#8217;t lose anything by watching it on DVD. I really hope Rian Johnson keeps making films because if he can inject the same level of depth and quality into his next projects then I will be more than happy.</p>
<p>P.S. I also loved the fan service with the use of <a href="http://www.imdb.com/name/nm0330687/" title="Joseph Gordon-Levitt on IMDB">Joseph Gordon-Levitt</a> and <a href="http://www.imdb.com/name/nm0954253/" title="Nora Zehtner on IMDB">Nora Zehetner</a> at the party in the bar who both played major roles in Brick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2010/01/17/the-brothers-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Fundamental Shift</title>
		<link>http://www.tomandrews.co.uk/2009/11/21/a-fundamental-shift/</link>
		<comments>http://www.tomandrews.co.uk/2009/11/21/a-fundamental-shift/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 02:22:14 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[Chromium]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=55</guid>
		<description><![CDATA[OK, so the big announcement on Wednesday was the updates to ASP.NET AJAX libraries at PDC&#8230; you didn&#8217;t hear about that?! Were you sat in a cave? It integrates perfectly with jQuery (as a plugin) and .NET MVC and you no longer have to include 5+ different JavaScript libraries in the right order just to [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so the big announcement on Wednesday was the updates to <a title="Microsoft ASP.NET AJAX Framework" href="http://channel9.msdn.com/posts/jsenior/Introducing-the-ASPNET-Ajax-Library-Beta/" target="_blank">ASP.NET AJAX libraries at PDC</a>&#8230; you didn&#8217;t hear about that?! Were you sat in a cave? It integrates perfectly with jQuery (as a plugin) and .NET MVC and you no longer have to include 5+ different JavaScript libraries in the right order just to use a Calendar control.</p>
<p>If thats not <em>a fundamental shift</em> in code reduction I don&#8217;t know what is!</p>
<p>OK, OK the big news was <a title="Chrome OS" href="http://www.chromium.org/chromium-os" target="_blank">Chrome OS</a> perfectly timed to steal Microsoft PDC&#8217;s thunder and boy have they! The blogosphere has been alight with the sound of &#8220;ooooh cool&#8221; and &#8220;dude thats retarded&#8221;. I think it will have a huge effect on the web and general purpose computing as a whole. If you don&#8217;t know what it is &#8211; watch the video below.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_GB&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/0QRO3gKj3qw&amp;hl=en_GB&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I like Chrome OS for a few things that some people don&#8217;t understand or don&#8217;t seem to appreciate.</p>
<p>Chrome OS is not built for the current generation of applications it is built for what Google believe the future of applications is going to be. It is what they have been doing since they first released search some 10 years ago. Google have been building complex applications (100s of thousands of line of just JavaScript if you believe <a title="IE9's new JavaScript engine is only twice as slow" href="http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/" target="_blank">Microsoft</a>) completely detached from the standard desktop environment. That is the power of the web.</p>
<p>As a developer I don&#8217;t care if you are running an x86 Windows machine with the latest upgrades or a Linux ARM machine that only has 128MB of RAM and has X installed. As long as it runs as a web browser and I develop on the principals of <a title="Graceful degradation" href="http://en.wikipedia.org/wiki/Fault-tolerant_system" target="_blank">graceful degradation</a> or <a title="Progressive Enhancement" href="http://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">progressive enhancement</a> (there is no meaningful difference) then everyone gets access to the functionality. All they need to do is point their browser at the URL. Nothing needs installing it just works.</p>
<p>These &#8220;web applications&#8221; that you access can be used from any device at any time day or night don&#8217;t (or aren&#8217;t supposed to &#8211; ignoring browser bugs and cookies) physically edit your system.  I&#8217;d be pissed off if YouTube changed my desktop image to it&#8217;s logo or something fundamental when I went to the site. It just makes no sense it doesn&#8217;t need to. I have an account there, why does it need to leave on my computer something it already knows? The web browser provides the sandbox environment for these applications to use and with the &#8220;cloud&#8221; can make your actions permanent and accessible from anywhere.</p>
<p>Google Chrome OS is taking this migration of applications from the desktop to the web to its logical conclusion. It gives you a machine which is nothing more than a web browser and wraps some nice features (moles and panels) that make the experience more pleasant. That really is it. It does some fancy things with boot that are fairly irrelevant. It looks to be using <a title="What is coreboot?" href="http://www.coreboot.org/FAQ#What_is_coreboot.3F" target="_blank">CoreBoot</a> which most users won&#8217;t be able to use if they don&#8217;t buy a Google machine as this requires you to flash your own BIOS . Secondly, <a title="Chrome OS cold boot video" href="http://www.youtube.com/watch?v=62iBuf2btVI" target="_blank">the demo</a> was running on a netbook with a SSD drive which has a <a title="Linus Torvalds - So I got one of new Intel SSDs" href="http://torvalds-family.blogspot.com/2008/10/so-i-got-one-of-new-intel-ssds.html" target="_blank">significant speed advantage</a>. Also as it really it is only one app a lot of the system can be changed so that it doesn&#8217;t have to deal with that random Perl script you wrote and it is designed not to let you run that script  - it is just a security risk and managing it is a performance hog.</p>
<p>Now, a lot of people right now (reading this or not) are thinking Chrome OS is going to suck as I can&#8217;t customise it; I can&#8217;t install apps, I can&#8217;t write that random Perl script to regex HTML for fun. People for some reason think that for every task they need an offline application because that is the way it has always been and how it always should be. But as discussed above, it is better for the developer and the end user that we use web apps. The end user gets a constantly updating app (in a perfect world) and the developer constantly supports all environments and doesn&#8217;t just support Mac or Windows etc.</p>
<p>For any platform there needs to be a killer app and yes we have a lot of good apps (<a title="GMail" href="http://mail.google.com">GMail</a>, <a title="YouTube" href="http://www.youtube.com" target="_blank">YouTube</a>, <a title="Digg" href="http://www.digg.com">Digg</a> etc) but they exist currently on our current platform there is nothing pulling us to use just Chrome OS or another purely web OS yet but we are nearly there.</p>
<p>The main two issues stopping everyone from rushing to the pure web OS. Firstly is the worrying question of peripherals. If I have my music/video collection on an iPod, HDD or local server then how am I supposed to browse that on an OS that doesn&#8217;t allow me to modify the hard drive? Will I l load a web app to do that that runs purely JavaScript and is allowed to read/access them? But how do I save more? Also, if I have a SatNav system that requires updates how will this OS allow this device to talk the web? The second issue are the apps. A lot of things you do on the desktop at the moment have to be done there because there are equivalent apps on the web for example, high performance gaming and truly assisted code development as with a powerful IDE come to mind. With so much processing required for each of these how is a web app meant to compete? Can it ever?</p>
<p><strong>The Future</strong></p>
<p>As I said at the beginning, Chrome OS is written for the future and is not yet ready to complete replace your desktop/laptop. It is for a time when most people have a fast 10Mbps connection always available connection, when content providers actually make their products available on the web and when there are competitive products for those on the desktop. And, I don&#8217;t believe we are that far away &#8211; especially given how quickly things change on the web. Lets look at my most commonly used applications and see what equivalents there are/will be in the future.</p>
<ul>
<li>Web browser (Chromium/Opera/Firefox) &#8211; Well, this has been negated some what given that I can access everything directly from the OS. But, what about testing <strong>my</strong> applications in them so they can be used by other web OS or browsers?</li>
<li>IDE (MonoDevelop and VisualStudio) &#8211; Both of these are powerful IDEs and provide a startling array of functions but nothing that I do not believe could not be built and enhanced by them being web apps. <a title="Bespin from Mozilla Labs" href="https://bespin.mozilla.com/" target="_blank">Bespin</a> from <a title="Mozilla Labs" href="https://mozillalabs.com/" target="_blank">Mozilla labs</a> is a good step in this direction but has a long way to go before it can compete.</li>
<li>Media Player (<a title="Boxee" href="http://www.boxee.tv" target="_blank">Boxee</a>, VLC, Miro and MPlayer) &#8211; Now here I come unstuck as I have a collection of videos on my server that can only be managed and distributed to my HTPC, Laptop and Desktop from this set up. If in theory I could stream them when I wanted and how I wanted then it could be possible to use a web app. <a title="Boxee" href="http://www.boxee.tv/" target="_blank">Boxee</a> running on my HTPC adds such a nice interface and lets me control it from my phone. There would need to be one hell of a web app to allow that. Having said that <a title="Boxee" href="http://www.boxee.tv/" target="_blank">Boxee</a> aims to bring most of its media from the web but is not a web app. Maybe it could become one? But at the moment there is really only <a title="BBC iPlayer" href="http://www.bbc.co.uk/iplayer" target="_blank">iPlayer</a>, <a title="Spotify" href="http://www.spotify.com" target="_blank">Spotify</a>, <a title="Hulu" href="http://www.hulu.com" target="_blank">Hulu</a> and <a title="YouTube" href="http://www.youtube.com" target="_blank">YouTube</a> for <em>legal</em> media content from the web.</li>
<li>Games (Steam and Wine + Steam) &#8211; Now this is a prediction not a solution but it is &#8211; the return of the dumb terminal &#8211; <a title="OnLive" href="http://www.onlive.com/" target="_blank">OnLive</a>. Or  a more short term shift to all gaming on consoles and none on the desktop/laptop.</li>
</ul>
<p>As you can see its not there yet but its on its way. 2 years and I wouldn&#8217;t be surprised if this web malarkey caught on and we actually had <em>a fundamental shift</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2009/11/21/a-fundamental-shift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lagging behind</title>
		<link>http://www.tomandrews.co.uk/2009/09/07/lagging-behind/</link>
		<comments>http://www.tomandrews.co.uk/2009/09/07/lagging-behind/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 19:55:06 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=53</guid>
		<description><![CDATA[So I finally updated my torrentz.com command so that it is now compatible with Ubiquity 0.5&#8217;s Parser 2. Despite this taking me nearly 4 months to get round to it was shockingly easy to do &#8211; literally only 10 minutes of work.
Now everyone can go and search torrentz.com from anywhere on the web ubiquity ctrl+space [...]]]></description>
			<content:encoded><![CDATA[<p>So I finally updated my torrentz.com command so that it is now compatible with <a title="Mozilla Lab's Ubiquity." href="http://labs.mozilla.com/projects/ubiquity/" target="_blank">Ubiquity</a> 0.5&#8217;s Parser 2. Despite this taking me nearly 4 months to get round to it was shockingly easy to do &#8211; literally only 10 minutes of work.</p>
<p>Now everyone can go and search torrentz.com from anywhere on the web ubiquity ctrl+space ftw!</p>
<p><a title="Torrentz ubiquity plugin install page" href="http://tomandrews.co.uk/projects/ubiquity-commands/">Updated command here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2009/09/07/lagging-behind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Torrentz.com Ubiquity command</title>
		<link>http://www.tomandrews.co.uk/2009/05/24/torrentz-ubiquity-plugin/</link>
		<comments>http://www.tomandrews.co.uk/2009/05/24/torrentz-ubiquity-plugin/#comments</comments>
		<pubDate>Sun, 24 May 2009 21:31:42 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=28</guid>
		<description><![CDATA[After wanting to brush up on my JavaScript skills for a few weeks now I finally got round to writing a command for Ubiquity.
Ubiquity is a Firefox command project from Mozilla Labs that allows users to create mashups on the fly, giving them easy access to a number of great web applications there are on [...]]]></description>
			<content:encoded><![CDATA[<p>After wanting to brush up on my JavaScript skills for a few weeks now I finally got round to writing a command for <a title="Ubiquity project homepage" href="http://labs.mozilla.com/projects/ubiquity/" target="_blank">Ubiquity</a>.</p>
<p><a title="Ubiquity project homepage" href="http://labs.mozilla.com/projects/ubiquity/" target="_blank">Ubiquity</a> is a <a title="Firefox browser" href="http://www.mozilla-europe.org/en/firefox/" target="_blank">Firefox</a> command project from Mozilla Labs that allows users to create mashups on the fly, giving them easy access to a number of great web applications there are on the internet. One of my favourite commands is the &#8220;define&#8221; that whilst I&#8217;m reading an article allows me to highlight the word and easily discover that words meaning without leaving that page/tab. I would urge <a title="Firefox browser" href="http://www.mozilla-europe.org/en/firefox/" target="_blank">Firefox</a> users to check it out; it is one of the main reasons I haven&#8217;t moved over to using <a title="Opera browser" href="http://www.opera.com" target="_blank">Opera</a> as my main web browser.</p>
<p>My basic command allows a user to access results from the meta torrent search engine <a title="Torrentz.com" href="http://www.torrentz.com">Torrentz.com</a>. Within ubiquity you can easily see the top 5 results for your search based on the total number of peers (number of people uploading + number of people downloading) currently active for that torrent. It also shows some basic information like the age, size and the tags associated with a particular result. It gets this information by screen-scraping the <a title="Torrentz.com" href="http://www.torrentz.com">Torrentz.com</a> search page and displaying it nicely within the preview panel.</p>
<p>Below you can find a screen cast I created that would have been edited if I could find a usable piece of software to do it in Ubuntu! Also, there is a link to use if you have Ubiquity installed and wish to make use of the command.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4816159&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4816159&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/4816159">Torrentz.com Ubiquity screencast</a> from <a href="http://vimeo.com/tomandrews">Tom Andrews</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><a title="Torrentz ubiquity plugin install page" href="http://tomandrews.co.uk/projects/ubiquity-commands/" target="_blank">Click here</a> to check out the project page.</p>
<p>If you wish to view the source code, with the understanding that this is version 1 (and while it works is not very elegant), <a title="Source code of the Torrentz ubiquity plugin" href="http://tomandrews.co.uk/additional/ubiquity/torrentz.js" target="_blank">click here</a>.</p>
<p>Finally, if you have any comments about features or bugs please add them below and I will endeavour to respond promptly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2009/05/24/torrentz-ubiquity-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The book was better</title>
		<link>http://www.tomandrews.co.uk/2009/05/10/the-book-was-better/</link>
		<comments>http://www.tomandrews.co.uk/2009/05/10/the-book-was-better/#comments</comments>
		<pubDate>Sun, 10 May 2009 01:54:42 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Films]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[state of play]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=13</guid>
		<description><![CDATA[This phrase has been an alien concept to me for my entire life. I could never understand friend's frustrations when they finally saw their favourite book become a film or TV series. Given that I can count the number of sizable fiction books I've read cover to cover on a single hand - seeing one become a film has never been likely. Today however was different.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 410px"><a href="http://eu.real.com/video/movie_review/2009/04/21/state-of-play"><img src="http://i00.rnhh.de/eu/shared-images/blog/2009/04/state-of-play.jpg" alt="State of Play" width="400" height="299" /></a><p class="wp-caption-text">State of Play</p></div>
<p>This phrase has been an alien concept to me for my entire life. I could never understand friend&#8217;s frustrations when they finally saw their favourite book become a film or TV series. Given that I can count the number of sizable fiction books I&#8217;ve read cover to cover on a single hand &#8211; seeing one become a film has never been likely. Today however was different.</p>
<p>This evening I saw <a title="State of Play - IMDB" href="http://www.imdb.com/title/tt0473705/" target="_blank">State of Play</a> starring <a title="Russell Crowe - IMDB" href="http://www.imdb.com/name/nm0000128/" target="_blank">Russell Crowe</a>, <a title="Rachel McAdams - IMDB" href="http://www.imdb.com/name/nm1046097/" target="_blank">Rachel McAdams</a> and <a title="Helen Mirren - IMDB" href="http://www.imdb.com/name/nm0000545/" target="_blank">Helen Mirren</a>. This film is based upon <a title="State of Play TV - IMDB" href="http://www.imdb.com/title/tt0362192/" target="_blank">2003 TV series</a> by the same name and focuses on the investigation of a news story by the journalist Cal McCaffrey which started after two murders are linked.  This leads us into a thrilling and intriguing discovery of what happened effectively <a title="How deep the rabbit hole goes - YouTube" href="http://www.youtube.com/watch?v=7VQ9Fs2fM20" target="_blank">how deep does the rabbit hole go</a>. Well, in the TV show you get this but not the film.</p>
<p>The TV show is 6 hours of pure bliss of near perfect television. Exquisite, smart and funny writing and some great performances most notably from  <a title="James McAvoy - IMDB" href="http://www.imdb.com/name/nm0564215/" target="_blank">James McAvoy</a> as Dan Foster (a part that was removed for the film!), <a title="Kelly MacDonald - IMDB" href="http://www.imdb.com/name/nm0531808/" target="_blank">Kelly MacDonald</a> as Della Smith and the ever imposing <a title="Bill Nighy - IMDB" href="http://www.imdb.com/name/nm0631490/" target="_blank">Bill Nighy</a> as Cameron Foster. This show kept me gripped even when I had much more important things to do. I couldn&#8217;t stop watching it.</p>
<p>The film however was &#8220;sexed&#8221; up, it was Hollywood-ised. They killed off characters just to add to the body count even though it didn&#8217;t progress the story. They made Della Smith,  a junior reporter in the TV show, the head of the web division when again it added nothing to the story. If anything it added a plot hole &#8211; why would a senior web journalist need to understand how to investigate a story? Also they added the Hollywood action and obligitory violent ending where the &#8220;bad guy&#8221; dies and everything is right with the world again. These &#8220;additions&#8221; did little to improve the story and although I agree they needed to add and remove certain elements to attract a more mainstream audience I don&#8217;t feel they made the correct choices.</p>
<p>Overall, I would still give this film a moderate 7 out of 10 but would advise people who loved the TV show to not expect anything too spectacular. The story still has its original themes that are as poignant as ever and there is still some intrigue to keep you following the plot for the length of the film.</p>
<p>No matter what I&#8217;ve said, it wasn&#8217;t bad it&#8217;s just that&#8230;.  the TV show was better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2009/05/10/the-book-was-better/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Hosting</title>
		<link>http://www.tomandrews.co.uk/2009/04/03/new-hosting/</link>
		<comments>http://www.tomandrews.co.uk/2009/04/03/new-hosting/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 20:56:57 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.tomandrews.co.uk/?p=5</guid>
		<description><![CDATA[New hosting and a promise of more updates!]]></description>
			<content:encoded><![CDATA[<p>I finally moved this off my annoyingly unstable home connection! I guess <a href="http://www.bethere.co.uk">bethere</a> never expected their users to use 500GB a month data transfer because the ADSL 2+ routers they give you can&#8217;t seem to cope.</p>
<p>I intend, as I am now paying for the hosting, to keep this blog updated more often, especially once I get my 3rd year project done and dusted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomandrews.co.uk/2009/04/03/new-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

