<?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>The Blog of Daniel Durrans, Web Systems Developer</title>
	<atom:link href="http://www.durrans.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.durrans.com/blog</link>
	<description>My life, thoughts, cooking, food, mmm food.</description>
	<lastBuildDate>Fri, 20 Nov 2009 15:38:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>bcp BULK INSERT a quote escaped csv file in SQL Server 2005</title>
		<link>http://www.durrans.com/blog/2009/11/20/bcp-bulk-insert-a-quote-escaped-csv-file-in-sql-server-2005/</link>
		<comments>http://www.durrans.com/blog/2009/11/20/bcp-bulk-insert-a-quote-escaped-csv-file-in-sql-server-2005/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 15:38:57 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/?p=222</guid>
		<description><![CDATA[I was having trouble trying to import a quote escaped CSV file into SQL Server 2005 using BULK INSERT. It kept giving me an unexpected EOF error until I used a format file where I created a dummy start and end column to pick up the initial &#8221; and final \r\n.
For example this format file [...]]]></description>
			<content:encoded><![CDATA[<p>I was having trouble trying to import a quote escaped CSV file into SQL Server 2005 using BULK INSERT. It kept giving me an unexpected EOF error until I used a format file where I created a dummy start and end column to pick up the initial &#8221; and final \r\n.</p>
<p>For example this format file will import six columns which are all formatted as:</p>
<p>&#8220;column1&#8243;,&#8221;column2&#8243;,&#8221;column3&#8243;,&#8221;column4&#8243;,&#8221;column5&#8243;,&#8221;column6&#8243;</p>
<pre>
9.0
8
1       SQLCHAR       0       1       ""          0     ExtraField          ""
2       SQLCHAR       0       100     "\",\""     1     ModelId             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\",\""     2     QualifyModelId      SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       100     "\",\""     3     MediaAspectCode     SQL_Latin1_General_CP1_CI_AS
5       SQLCHAR       0       100     "\",\""     4     SmallImageFilename  SQL_Latin1_General_CP1_CI_AS
6       SQLCHAR       0       100     "\",\""     5     MediumImageFilename SQL_Latin1_General_CP1_CI_AS
7       SQLCHAR       0       100     "\""        6     LargeImageFilename  SQL_Latin1_General_CP1_CI_AS
8       SQLCHAR       0       100     "\r\n"      0     ExtraField           ""
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2009/11/20/bcp-bulk-insert-a-quote-escaped-csv-file-in-sql-server-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing irssi using macports</title>
		<link>http://www.durrans.com/blog/2009/03/22/installing-irssi-using-macports/</link>
		<comments>http://www.durrans.com/blog/2009/03/22/installing-irssi-using-macports/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 23:58:41 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Life in code]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2009/03/22/installing-irssi-using-macports/</guid>
		<description><![CDATA[To install irssi using macports issue the command:
sudo port install irssi +perl
This will ensure that you get the necessary perl scripting support. Most people using irssi are going to want this.
Note that if you use scriptassist to help you load irssi scripts then you will want some extra perl stuff:
sudo port install p5-libwww-perl
]]></description>
			<content:encoded><![CDATA[<p>To install irssi using macports issue the command:</p>
<p>sudo port install irssi +perl</p>
<p>This will ensure that you get the necessary perl scripting support. Most people using irssi are going to want this.</p>
<p>Note that if you use scriptassist to help you load irssi scripts then you will want some extra perl stuff:</p>
<p>sudo port install p5-libwww-perl</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2009/03/22/installing-irssi-using-macports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating reporting server database with SQL Server 2005 Standard</title>
		<link>http://www.durrans.com/blog/2009/02/12/migrating-reporting-server-database-with-sql-server-2005-standard/</link>
		<comments>http://www.durrans.com/blog/2009/02/12/migrating-reporting-server-database-with-sql-server-2005-standard/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 17:29:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Life in code]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2009/02/12/migrating-reporting-server-database-with-sql-server-2005-standard/</guid>
		<description><![CDATA[If you are moving reporting services to a brand new SQL Server machine (such as setting up a UAT environment or test server) then you may backup and restore the reporting server database from your production machine. You will probably then backup and restore the encryption keys. However you will probably get the error:
&#8220;Reporting server [...]]]></description>
			<content:encoded><![CDATA[<p>If you are moving reporting services to a brand new SQL Server machine (such as setting up a UAT environment or test server) then you may backup and restore the reporting server database from your production machine. You will probably then backup and restore the encryption keys. However you will probably get the error:</p>
<p>&#8220;Reporting server can&#8217;t be used as part of a scale-out deployment&#8221; or something along those lines.</p>
<p>Fear not! Because you aren&#8217;t using enterprise you need to remove the key for the old server from the config using:</p>
<p><span class="userInput">rskeymgmt -l</span></p>
<p>and then</p>
<p><span class="userInput">rskeymgmt -r</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2009/02/12/migrating-reporting-server-database-with-sql-server-2005-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Service Broker and Backup Exec</title>
		<link>http://www.durrans.com/blog/2008/11/27/sql-server-service-broker-and-backup-exec/</link>
		<comments>http://www.durrans.com/blog/2008/11/27/sql-server-service-broker-and-backup-exec/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 13:35:44 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Life in code]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2008/11/27/sql-server-service-broker-and-backup-exec/</guid>
		<description><![CDATA[I had a problem today where whenever a full backup of the master database was taken by Backup Exec the Service Broker would say in the SQL Server error logs:
Could not start Service Broker for database id
Google didn&#8217;t really know what was going on but I found that if you delete the master4IDR file on [...]]]></description>
			<content:encoded><![CDATA[<p>I had a problem today where whenever a full backup of the master database was taken by Backup Exec the Service Broker would say in the SQL Server error logs:</p>
<p><code>Could not start Service Broker for database id</code></p>
<p>Google didn&#8217;t really know what was going on but I found that if you delete the master4IDR file on the offending server (probably in the default database directory) then do another few backups the problem vanishes.</p>
<p>master4IDR is a copy of the master database that is taken when Backup Exec backs up the database. It is used to do disaster recovery on the server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2008/11/27/sql-server-service-broker-and-backup-exec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What if Facebook could auto-tag uploaded photos?</title>
		<link>http://www.durrans.com/blog/2008/01/29/what-if-facebook-could-auto-tag-uploaded-photos/</link>
		<comments>http://www.durrans.com/blog/2008/01/29/what-if-facebook-could-auto-tag-uploaded-photos/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 12:07:44 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Life in code]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2008/01/29/what-if-facebook-could-auto-tag-uploaded-photos/</guid>
		<description><![CDATA[Facebook could become the ultimate platform for training facial recognition systems. Almost every photo uploaded to the site is of someone. The first thing that you do is to tag the people in the photo, creating a link between the photo and the related person.
But what would happen if the tagging process worked in conjunction [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook could become the ultimate platform for training facial recognition systems. Almost every photo uploaded to the site is of someone. The first thing that you do is to tag the people in the photo, creating a link between the photo and the related person.</p>
<p>But what would happen if the tagging process worked in conjunction with facial recognition technology? Every time a person was tagged in an image you could help the system learn what that person looks like. Eventually the system could become &#8220;smart&#8221; enough to recognise people on its own.</p>
<p>Auto-tagging photos &#8211; it&#8217;s the way forward, and you heard it here first!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2008/01/29/what-if-facebook-could-auto-tag-uploaded-photos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Check constraints that access the table you are inserting into</title>
		<link>http://www.durrans.com/blog/2008/01/18/check-constraints-that-access-the-table-you-are-inserting-into/</link>
		<comments>http://www.durrans.com/blog/2008/01/18/check-constraints-that-access-the-table-you-are-inserting-into/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 09:25:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Life in code]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2008/01/18/check-constraints-that-access-the-table-you-are-inserting-into/</guid>
		<description><![CDATA[In SQL Server 2005 you can write a check constraint that can include a function call. For example:

ALTER TABLE [dbo].[TestTable1]
ADD CONSTRAINT [TestConstraint1]
CHECK  ([dbo].[TestFunction1]([PrimaryKeyColumn1],[Column1],[Column2]) = 0)

However if the function you are calling tests the contents of that table you must be aware that the row you are trying to insert or update will already be [...]]]></description>
			<content:encoded><![CDATA[<p>In SQL Server 2005 you can write a check constraint that can include a function call. For example:<br />
<code><br />
ALTER TABLE [dbo].[TestTable1]<br />
ADD CONSTRAINT [TestConstraint1]<br />
CHECK  ([dbo].[TestFunction1]([PrimaryKeyColumn1],[Column1],[Column2]) = 0)<br />
</code><br />
However if the function you are calling tests the contents of that table you must be aware that the row you are trying to insert or update will already be in the table. Therefore if part of the test is, for example, duplicate checking or date range checking (in the case of writing scheduling software) then you must pass into the function the primary key of the row you are inserting and add that as a where clause to your function:<br />
<code><br />
CREATE FUNCTION [dbo].[TestFunction1]<br />
(<br />
@param1 int,<br />
@param2 int,<br />
@param3 int,<br />
)<br />
RETURNS bit<br />
AS<br />
BEGIN<br />
DECLARE @ClashesFound int<br />
DECLARE @Result bit<br />
SET @ClashesFound = 0<br />
SET @Result = 0<br />
SET @ClashesFound = (<br />
SELECT COUNT(*)<br />
FROM [dbo].[TestTable1]<br />
WHERE<br />
[PrimaryKeyColumn1] &lt;&gt; @param1<br />
)<br />
IF (@ClashesFound &gt; 0)<br />
SET @Result = 1<br />
RETURN @Result<br />
END<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2008/01/18/check-constraints-that-access-the-table-you-are-inserting-into/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Researchers put circuits on contact lenses, freak out rabbits</title>
		<link>http://www.durrans.com/blog/2008/01/18/researchers-put-circuits-on-contact-lenses-freak-out-rabbits/</link>
		<comments>http://www.durrans.com/blog/2008/01/18/researchers-put-circuits-on-contact-lenses-freak-out-rabbits/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 07:33:35 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Cool stuff]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2008/01/18/researchers-put-circuits-on-contact-lenses-freak-out-rabbits/</guid>
		<description><![CDATA[Engadget have been writing that researchers have discovered a way to embed electrical circuits including lights and logic into contact lenses. This sounds pretty cool to me and I think it would be great to have a head-up display as you walk around. It could tell you where you are, the time, how to get [...]]]></description>
			<content:encoded><![CDATA[<p>Engadget have been writing that researchers have discovered a way to <a href="http://www.engadget.com/2008/01/17/researchers-put-circuits-on-contact-lenses-freak-out-rabbits/">embed electrical circuits including lights and logic into contact lenses</a>. This sounds pretty cool to me and I think it would be great to have a head-up display as you walk around. It could tell you where you are, the time, how to get somewhere, information about the person you are talking to (good for business meetings where I can never remember a persons name)  or even allow you to watch TV.</p>
<p>I wonder if Specsavers will be selling them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2008/01/18/researchers-put-circuits-on-contact-lenses-freak-out-rabbits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL code to test a date range against existing ranges in a table</title>
		<link>http://www.durrans.com/blog/2008/01/17/sql-code-to-test-a-date-range-against-existing-ranges-in-a-table/</link>
		<comments>http://www.durrans.com/blog/2008/01/17/sql-code-to-test-a-date-range-against-existing-ranges-in-a-table/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 16:45:29 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2008/01/17/sql-code-to-test-a-date-range-against-existing-ranges-in-a-table/</guid>
		<description><![CDATA[The following slice of code will search a table and return any rows where there is a clash between the date range in the row (ValidFrom and ValidTo) and the date range in the variables (@InTo and @InFrom).
Null dates are treated as either infinite past or infinite future accordingly.

WHERE
NOT (
(@InTo &#60; ValidFrom AND @InTo IS [...]]]></description>
			<content:encoded><![CDATA[<p>The following slice of code will search a table and return any rows where there is a clash between the date range in the row (ValidFrom and ValidTo) and the date range in the variables (@InTo and @InFrom).</p>
<p>Null dates are treated as either infinite past or infinite future accordingly.<br />
<code><br />
WHERE<br />
NOT (<br />
(@InTo &lt; ValidFrom AND @InTo IS NOT NULL AND ValidFrom IS NOT NULL)<br />
OR<br />
(@InFrom &gt; ValidTo AND @InFrom IS NOT NULL AND ValidTo IS NOT NULL)<br />
)<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2008/01/17/sql-code-to-test-a-date-range-against-existing-ranges-in-a-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From my windowpane</title>
		<link>http://www.durrans.com/blog/2007/08/10/from-my-windowpane/</link>
		<comments>http://www.durrans.com/blog/2007/08/10/from-my-windowpane/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 07:37:28 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2007/08/10/from-my-windowpane/</guid>
		<description><![CDATA[I woke up this morning, opened the blinds in my bedroom and was slightly surprised to find over thirty hot air balloons hovering over Bristol.

And then I remembered it was the Bristol International Balloon Fiesta this weekend   Still, nice to wake up to all those hot air balloons. More photos here:
http://gallery.durrans.com/v/events/other/hot-air-2007/
It looks best [...]]]></description>
			<content:encoded><![CDATA[<p>I woke up this morning, opened the blinds in my bedroom and was slightly surprised to find over thirty hot air balloons hovering over Bristol.</p>
<p style="text-align: center"><img src="http://gallery.durrans.com/d/23940-2/IMG_2241.JPG" height="300" width="400" /></p>
<p>And then I remembered it was the <a href="http://www.bristolfiesta.co.uk/">Bristol International Balloon Fiesta</a> this weekend <img src='http://www.durrans.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Still, nice to wake up to all those hot air balloons. More photos here:</p>
<p><a href="http://gallery.durrans.com/v/events/other/hot-air-2007/">http://gallery.durrans.com/v/events/other/hot-air-2007/</a></p>
<p>It looks best if you look at the high rez photos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2007/08/10/from-my-windowpane/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When was the last time you changed a plug?</title>
		<link>http://www.durrans.com/blog/2007/08/05/when-was-the-last-time-you-changed-a-plug/</link>
		<comments>http://www.durrans.com/blog/2007/08/05/when-was-the-last-time-you-changed-a-plug/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 19:44:22 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.durrans.com/blog/2007/08/05/when-was-the-last-time-you-changed-a-plug/</guid>
		<description><![CDATA[I was pondering this question earlier today while I rewired a 4-way adaptor to have a longer lead. When was the last time that I actually had to change a plug. While I was a child I changed plugs all the time. I loved to play around with electrical gadgets that I had acquired through [...]]]></description>
			<content:encoded><![CDATA[<p>I was pondering this question earlier today while I rewired a 4-way adaptor to have a longer lead. When was the last time that I actually had to change a plug. While I was a child I changed plugs all the time. I loved to play around with electrical gadgets that I had acquired through jumble sales and alike. These items often required a plug to be connected and therefore I spent quite a number of weekends messing around with screwdrivers, wire clippers and even in some cases soldering irons.</p>
<p>I remember that in school, both primary and secondary, I was taught how to change a plug. I was taught the colours of the wires inside a cable and how they related to the electrical mains supply. I understood which terminals within a plug these had to be connected to and I knew how to strip the cable to the correct lengths.</p>
<p>These days most electrical items come with a plug moulded onto the wire. It is rare that you have to change a fuse let alone rewire the plug. Before today I really can&#8217;t remember the last time that I saw the inside of a plug.  Are children even taught, what was once considered a necessary life skill, in schools?</p>
<p>So  I ask you, when did you last wire a plug? What colour is the earth wire? Does blue connect to the neutral terminal or the live terminal? Finally, is it the earth or the live terminal that has the fuse?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.durrans.com/blog/2007/08/05/when-was-the-last-time-you-changed-a-plug/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
