<?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>dev:ices &#187; Comment</title>
	<atom:link href="http://www.mindthe.net/devices/category/comment/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindthe.net/devices</link>
	<description>Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. - Douglas Adams</description>
	<lastBuildDate>Wed, 11 Jan 2012 13:06:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Foreign Raspberries</title>
		<link>http://www.mindthe.net/devices/2012/01/11/foreign-raspberries/</link>
		<comments>http://www.mindthe.net/devices/2012/01/11/foreign-raspberries/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 13:06:32 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[petition]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[tax]]></category>
		<category><![CDATA[uk]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=280</guid>
		<description><![CDATA[<p>The exciting <a title="Raspberry Pi" href="http://www.raspberrypi.org/">Raspberry Pi</a> project is nearing fruition but it seems <a href="http://www.raspberrypi.org/">their attempts to boost the UK economy by getting the boards made over here</a> has been thwarted by lead times and an insane tax law.</p> <p>It seems UK manufacturers end up paying tax on components, but if they get the [...]]]></description>
			<content:encoded><![CDATA[<p>The exciting <a title="Raspberry Pi" href="http://www.raspberrypi.org/">Raspberry Pi</a> project is nearing fruition but it seems <a href="http://www.raspberrypi.org/">their attempts to boost the UK economy by getting the boards made over here</a> has been thwarted by lead times and an insane tax law.</p>
<p>It seems UK manufacturers end up paying tax on components, but if they get the boards made overseas and then shipped over then that&#8217;s ok because they&#8217;re completed products rather than raw materials. Bottom line is that this insanity means that foreign outsourcing of manufacturing gets even more attractive.</p>
<p>So in these times of austerity it would seem the sensible thing to do to support UK manufacturing by lobbying for a change in those tax laws. We have a lot of manufacturing talent in the UK and we should be supporting it.</p>
<p>If you want to <a href="http://submissions.epetitions.direct.gov.uk/petitions/27158">support a lobby on this issue there&#8217;s an e-Petition been set up to register your support</a> at http://submissions.epetitions.direct.gov.uk/petitions/27158</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2012/01/11/foreign-raspberries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1&amp;1 domain transfer status: &#8216;Domain Update Done&#8217;</title>
		<link>http://www.mindthe.net/devices/2011/02/16/11-domain-transfer-status-domain-update-done/</link>
		<comments>http://www.mindthe.net/devices/2011/02/16/11-domain-transfer-status-domain-update-done/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 09:15:33 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[1&1]]></category>
		<category><![CDATA[Domain transfer]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=244</guid>
		<description><![CDATA[<p>In the process of moving a .co.uk domain over to 1&#38;1 for someone this week, I encountered the undocumented status code of &#8216;Domain Update Done&#8217;.</p> <p>The domain had previously shown as &#8216;Ready&#8217; in the control panel and I was able to set the server and mailserver for them using 1&#38;1&#8242;s nameserver.</p> <p>The gotcha is that [...]]]></description>
			<content:encoded><![CDATA[<p>In the process of moving a .co.uk domain over to 1&amp;1 for someone this week, I encountered the undocumented status code of &#8216;Domain Update Done&#8217;.</p>
<p>The domain had previously shown as &#8216;Ready&#8217; in the control panel and I was able to set the server and mailserver for them using 1&amp;1&#8242;s nameserver.</p>
<p>The gotcha is that during the &#8216;Domain Update Done&#8217; status you can&#8217;t swap the nameserver settings. You can still get to change the A and MX records with 1&amp;1&#8242;s Nameserver but if you wanted to point it to an external nameserver you&#8217;ll have to wait until this status clears.</p>
<p>The official word I got from 1&amp;1 support says : &#8220;Domain Update Done status means that a domain is already on its last phase of propagation and normally, this will take 24-48 hours.&#8221;</p>
<p>So just be warned that if you want to change your initial settings when transferring a domain, you might get locked out while the domain is being finalised on your account.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2011/02/16/11-domain-transfer-status-domain-update-done/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fixing MSDTC between two machines on different domains</title>
		<link>http://www.mindthe.net/devices/2010/12/06/fixing-msdtc-between-two-machines-on-different-domains/</link>
		<comments>http://www.mindthe.net/devices/2010/12/06/fixing-msdtc-between-two-machines-on-different-domains/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 17:18:59 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[COM+]]></category>
		<category><![CDATA[DTCPing]]></category>
		<category><![CDATA[DTCTester]]></category>
		<category><![CDATA[MSDTC]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=241</guid>
		<description><![CDATA[<p>I&#8217;ve been chasing problems with MSDTC today. We were trying to get one machines on a different domain to use MSDTC through COM+ to talk to a remote SQL Server on a different domain.</p> <p>Select / Read operations seemed to work fine but when it attempted to use an UPDATE method in a transaction, it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been chasing problems with MSDTC today. We were trying to get one machines on a different domain to use MSDTC through COM+ to talk to a remote SQL Server on a different domain.</p>
<p>Select / Read operations seemed to work fine but when it attempted to use an UPDATE method in a transaction, it failed with an exception saying</p>
<pre>COM+ was unable to talk to the Microsoft Distributed
Transaction Coordinator (Exception from HRESULT: 0x8004E00F)</pre>
<p>The following information describes my eventual journey to success.</p>
<p><span id="more-241"></span></p>
<p>The first thing to try is DTCPing. I found a <a href="http://support.microsoft.com/kb/306843">Microsoft Knowledgebase article</a> that takes you through checking firewall permissions and checking the MSDTC ports. Get this working from both client and server ends first.</p>
<p>The second utility to try from Microsoft is DTCTester. There&#8217;s another useful <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q293799">Microsoft Knowledgebase article</a> which takes you through how to run it. One thing I had to do before running this was create an ODBC System DSN entry from the client computer to the server for DTCTester to use. This isn&#8217;t how I was connecting to the SQL Server but was necessary to test.</p>
<p>In the midst of all of this the Distributed Transaction Service decided to crash and uninstall itself on the client machine. If this happens try the following on a command line prompt:</p>
<ul>
<li>msdtc -uninstall</li>
<li>msdtc -install</li>
<li>msdtc -resetlog</li>
</ul>
<p>Check that the DTC service has been reinstalled and has the Network Service permission.</p>
<p>Running DTCTester.exe resulted in</p>
<pre>tablename= #dtc29131
Creating Temp Table for Testing: #dtc29131
Warning: No Columns in Result Set From Executing: 'create table #dtc29131 (ival
int)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Error:
SQLSTATE=25S12,Native error=-2147168242,msg='[Microsoft][ODBC SQL Server Driver]
Distributed transaction error'
Error:
SQLSTATE=24000,Native error=0,msg=[Microsoft][ODBC SQL Server Driver]Invalid cur
sor state
Typical Errors in DTC Output When
a.  Firewall Has Ports Closed
-OR-
b.  Bad WINS/DNS entries
-OR-
c.  Misconfigured network
-OR-
d.  Misconfigured SQL Server machine that has multiple netcards.
Aborting DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer.</pre>
<p>There were several other investigation paths which bore no fruit so I&#8217;ll just cut to the solution; one of which included creating a VPN tunnel from client to server.</p>
<p>I <a href="http://www.developmentnow.com/g/118_2005_4_0_0_510973/DTC-Fails.htm">found a blog post</a> after searching for the keywords &#8220;dtctester sqlstate=25S12&#8243;. One of the solutions was to turn the MSDTC security down to requring No Authentication instead of Mutual Authentication Required. This makes sense as the fact both client and server computers were on different domains, I suspect authentication requests from either end were failing because of this.</p>
<ul>
<li>Open Component Services (Administrative Tools -&gt; Component Services)</li>
<li>Expand the Component Services tree and the Computers tree to see &#8216;My Computer&#8217;</li>
<li>Right click on My Computer and select Properties</li>
<li>Select the MSDTC tab</li>
<li>Click on &#8216;Security Configuration&#8217; in the bottom left hand corner Transaction Configuration section.</li>
<li>Change the Transaction Manager Communication from Mutual Authentication Required to No Authentication Required.</li>
<li>Click OK out of all dialogs</li>
</ul>
<p>Running DTCTester again now results in the following:</p>
<pre>tablename= #dtc6875
Creating Temp Table for Testing: #dtc6875
Warning: No Columns in Result Set From Executing: 'create table #dtc6875 (ival i
nt)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Executing SQL Statement in DTC Transaction
Inserting into Temp...insert into #dtc6875 values (1)
Warning: No Columns in Result Set From Executing: 'insert into #dtc6875 values (
1) '
Verifying Insert into Temp...select * from #dtc6875 (should be 1): 1
Press enter to commit transaction.
Commiting DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer.
Disconnecting from Database and Cleaning up Handles</pre>
<p>The application that had previously failed now works and happiness has returned to the land of MSDTC and COM+ (as much as the land of COM+ can be happy!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/12/06/fixing-msdtc-between-two-machines-on-different-domains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Contacts throws a gauntlet at Facebook?</title>
		<link>http://www.mindthe.net/devices/2010/11/08/google-contacts-throws-a-gauntlet-at-facebook/</link>
		<comments>http://www.mindthe.net/devices/2010/11/08/google-contacts-throws-a-gauntlet-at-facebook/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 09:26:48 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Contacts]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=238</guid>
		<description><![CDATA[Google have changed their terms of service on their Contacts API in a seemingly simple way, but with hopefully bigger consequences. It might force Facebook to open the doors on external access to the data we choose to store there.]]></description>
			<content:encoded><![CDATA[<p>Given the size Facebook has grown to, it has an obvious &#8216;elephant in the corner&#8217; for those willing to step back from their time-line for a minute.  Those users who are only interested in friends, photos and now location-based checkins too might miss the fact that Facebook is data-mining on a grand scale.</p>
<p>The debate about the public visibility of your data has grabbed the media&#8217;s attention. What&#8217;s given less coverage is the missing ability for you to easily use and share the data you&#8217;ve chosen to store with Facebook elsewhere on the internet.</p>
<p>Google have recently changed their terms of service on their Contacts API in a seemingly simple way, but with hopefully bigger consequences. <a id="aptureLink_hpZ7UFEQm3" href="http://www.crunchbase.com/product/gigaom">GigaOm</a> summised in <a id="aptureLink_DULZZLwYRU" href="http://gigaom.com/2010/11/05/nice-move-google-what-took-you-so-long/">their article about this</a> by saying &#8220;Third-party apps and services can’t pull data from Google without allowing Google to do the same with their data&#8221;.</p>
<p>We shall have to see whether linking with Google Contacts in Gmail etc. to find new friends to connect to on Facebook is enough to force Facebook to apply a can-opener to their own APIs.</p>
<p>Thanks to <a id="aptureLink_t2Aujj0IBs" href="http://twitter.com/adambird">Adam Bird</a> for sending me a link to the GigaOm story.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/11/08/google-contacts-throws-a-gauntlet-at-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shutting down log4net repositories</title>
		<link>http://www.mindthe.net/devices/2010/10/18/shutting-down-log4net-repositories/</link>
		<comments>http://www.mindthe.net/devices/2010/10/18/shutting-down-log4net-repositories/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 09:22:36 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[gibraltar]]></category>
		<category><![CDATA[log4net]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=228</guid>
		<description><![CDATA[Gibraltar Software provides a richer feedback experience if you're used to using log4net; just remember to tidy up after yourself. ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been learning and evaluating the <a id="aptureLink_8A6JG0503S" href="http://www.youtube.com/watch?v=oK1g-jkBiws">Gibraltar &#8216;Runtime intelligence&#8217; &amp; logging application</a> recently. If you&#8217;re already using <a id="aptureLink_nUqrDzLjoE" href="http://en.wikipedia.org/wiki/Apache%20Log4net">log4net</a>, there&#8217;s a very low impact route to adopting its many benefits by using their simple <a id="aptureLink_VIM2HH2DSh" href="http://www.gibraltarsoftware.com/See/Log4Net.aspx">Gibraltar Appender</a>.</p>
<p>In knocking up a quick sample application to test, I had setup and configured my Log4Net logger:</p>
<pre>public class Program
{
  private static readonly ILog Log = 
    LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);</pre>
<pre>  static int Main(string[] args)
  {
    if (!LogManager.GetRepository().Configured)
    {
      XmlConfigurator.Configure();
    }</pre>
<p>The simple application went on to output some simple log lines to test using the Gibraltar appender. All was fine, except this simple console application appeared to hang on exit. I quit the running application and Gibraltar dutifully announced that my session had Crashed.</p>
<p>A bit of headscratching later made me realise that I needed to be a better Log4Net citizen in my sample application. I had omitted the line:</p>
<pre>Log.Logger.Repository.Shutdown();</pre>
<p>Now my code properly stopped its logging activities before the program exited and Gibraltar was able to report successfully. The Log4Net RollingFileAppender or ConsoleAppenders don&#8217;t complain like this on program exit if the repository isn&#8217;t shutdown first but it does makes sense to tidy up after yourself rather than relying on the garbage collector.</p>
<p>I&#8217;ll write more about my positive experiences of Gibraltar in another post, but just wanted to share this in case any early adopters faced the same &#8216;facepalm&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/10/18/shutting-down-log4net-repositories/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TDD, Visual Studio 2010 &amp; BadImageFormatException</title>
		<link>http://www.mindthe.net/devices/2010/10/07/badimageformatexception/</link>
		<comments>http://www.mindthe.net/devices/2010/10/07/badimageformatexception/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 17:07:31 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[BadImageFormatException]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=219</guid>
		<description><![CDATA[How to solve a BadImageFormatException when your Visual Studio 2010 solution has a console application and class libraries and you're running on a 64-bit machine. ]]></description>
			<content:encoded><![CDATA[<p>Just had a very strange run-in with Visual Studio 2010 throwing a BadImageFormatException. Just to set the scene I&#8217;ve got Visual Studio 2010 running on a Windows XP 64-bit machine.</p>
<p>My solution has a Console Application and a few Class Libraries; one of which is for Integration Tests using <a id="aptureLink_XBF2wQ0sb5" href="http://en.wikipedia.org/wiki/Behavior%20Driven%20Development">StoryQ</a> and another which is for my unit tests classes.</p>
<p>Running my Console application works fine on its own, but as soon as I either ran the Unit Tests or got Resharper to run my Integration Tests, I was hitting a BadImageFormatException. It could not load my console application (or one of its dependencies).</p>
<p>A bit of blog searching found an forum thread which talks about how a <a id="aptureLink_ds4RjDYmIb" href="http://connect.microsoft.com/VisualStudio/feedback/details/455103/new-c-console-application-targets-x86-by-default">new c# console application targets x86 by default</a>. I think the combination of it attempting to run my console application in x86 and my test libraries on the 64-bit environment was causing a battle of wills.</p>
<p>The solution is to go into your console application Properties and switch to the Build tab. Then make sure that for both Debug and Release configurations that your Platform Target is set to &#8220;Any CPU&#8221; rather than &#8220;x86&#8243;.</p>
<p>This then allows your TDD to continue unchallenged by assumed defaults and the use of a 64-bit OS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/10/07/badimageformatexception/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SUDS &#8211; Short URL Discovery Service</title>
		<link>http://www.mindthe.net/devices/2010/09/22/suds-short-url-discovery-service/</link>
		<comments>http://www.mindthe.net/devices/2010/09/22/suds-short-url-discovery-service/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 09:37:21 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[short url]]></category>
		<category><![CDATA[suds]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/2010/09/22/suds-short-url-discovery-service/</guid>
		<description><![CDATA[<p>URL Shortening Services have been springing up all over the place since Twitter&#8217;s continued rise in popularity. The ability to use less characters to link to any webpage isn&#8217;t limited to short messaging platforms like SMS and Twitter. I&#8217;ve seen plenty of technical presentations include them to aid those taking notes not having to write [...]]]></description>
			<content:encoded><![CDATA[<p>URL Shortening Services have been springing up all over the place since Twitter&#8217;s continued rise in popularity. The ability to use less characters to link to any webpage isn&#8217;t limited to short messaging platforms like SMS and Twitter. I&#8217;ve seen plenty of technical presentations include them to aid those taking notes not having to write too much. </p>
<p>Recently brands have been creating their own short URLs rather letting others obfuscate their identities. http://bbc.in and http://youtu.be have started to appear. Also 3rd party Twitter clients like @TweetDeck have started to shorten URLs in these custom formats. </p>
<p>It got me thinking there should be a Short URL Discovery Service (SUDS) defined. Domains could then be queried for a shorter version of a URL.<br />
A simple query for a resource on that domain could reveal a shorter form or if there&#8217;s no response the 3rd party could use the user&#8217;s preferred generic URL shortening service. </p>
<p>I quite like these custom brand driven short URLs as it&#8217;s clearer where the link will take me. </p>
<p>Not checked to see if theres something like this already as I&#8217;m currently on the move. But if you think it&#8217;s an idea worth perusing, get in touch and we&#8217;ll brainstorm. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/09/22/suds-short-url-discovery-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Importing AVCHD movies to iMovie</title>
		<link>http://www.mindthe.net/devices/2010/09/21/importing-avchd-movies-to-imovie/</link>
		<comments>http://www.mindthe.net/devices/2010/09/21/importing-avchd-movies-to-imovie/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 11:20:47 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[avchd]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[disk image]]></category>
		<category><![CDATA[disk utility]]></category>
		<category><![CDATA[imovie]]></category>
		<category><![CDATA[import]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=213</guid>
		<description><![CDATA[<p>At first, it appears that the AVCHD movie files that certain cameras use are difficult to import into iMovie without some sort of conversion software.</p> <p>Ignore all that, you can do it all with Disk Utility and your Mac without spending a dime/penny/whatever your local unit of currency is.</p> Start Applications-&#62;Utilities-&#62;Disk Utility up. Click &#8216;New [...]]]></description>
			<content:encoded><![CDATA[<p>At first, it appears that the AVCHD movie files that certain cameras use are difficult to import into iMovie without some sort of conversion software.</p>
<p>Ignore all that, you can do it all with Disk Utility and your Mac without spending a dime/penny/whatever your local unit of currency is.</p>
<ol>
<li>Start Applications-&gt;Utilities-&gt;Disk Utility up.</li>
<li>Click &#8216;New Image&#8217;</li>
<li>Give it a file name in the &#8216;Save As&#8217; box and select where you want it saving.</li>
<li>Select the &#8216;Size&#8217; . I used a 4.6Gb (DVD-R / DVD-RAM) size as I knew what size of files I&#8217;d copied from the SD card were.</li>
<li>Click &#8216;Create&#8217;</li>
<li>Go into Finder and if its not already opened the Image File (called Disk Image) in your Devices section, find the image and open it.</li>
<li>Drag the files from your camcorder&#8217;s memory card to the image file, folders included. I copied the AVCHD folder from within the PRIVATE folder on the SD card that came out of the Canon Camcorder. It contained two subdirectories called BDMV and CANON with all the bits and bobs in it.</li>
<li>When it&#8217;s finished copying, eject the disk image.</li>
<li>Start iMovie</li>
<li>Open the image file again and iMovie should detect it as a camera and offer to import it all for you!</li>
</ol>
<p>Simple, hey? <img src='http://www.mindthe.net/devices/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/09/21/importing-avchd-movies-to-imovie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invoking remote executables with Powershell</title>
		<link>http://www.mindthe.net/devices/2010/09/16/powershell-remote-exe/</link>
		<comments>http://www.mindthe.net/devices/2010/09/16/powershell-remote-exe/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 11:46:32 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[execution]]></category>
		<category><![CDATA[invoke-command]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[remote]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=202</guid>
		<description><![CDATA[<p>The Powershell Invoke-Command  script is very powerful for automating the deployment of software built in a Continuous Integration process. However, I just ran into a bit of new syntax when trying to invoke an executable on the remote box when specifying arguments.</p> <p></p> <p>Initially I was trying to call the 7z.exe using the usual DOS [...]]]></description>
			<content:encoded><![CDATA[<p>The Powershell Invoke-Command  script is very powerful for automating the deployment of software built in a Continuous Integration process. However, I just ran into a bit of new syntax when trying to invoke an executable on the remote box when specifying arguments.</p>
<p><span id="more-202"></span></p>
<p>Initially I was trying to call the 7z.exe using the usual DOS syntax of</p>
<pre>"C:\Program Files\7-zip\7z.exe" x -y $serverZipPath</pre>
<pre><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;">This caused Powershell to error with:</span></pre>
<pre><span style="color: #ff0000;">Unexpected token 'x' in expression or statement.
At line:1 char:34
+ "C:\Program Files\7-Zip\7z.exe" x &lt;&lt;&lt;&lt; -y d:\temp\release.zip
+ CategoryInfo : ParserError: (x:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken </span></pre>
<p>Here&#8217;s the working Unzip Script example. It relies on <a id="aptureLink_9Js8MFDvm7" href="http://en.wikipedia.org/wiki/7-Zip">7-zip</a> being installed on the remote machine:</p>
<pre># Purpose : Uncompresses the $zipFilename to $destinationPath on the target $server
# Returns : True for success</pre>
<pre>function InvokeUnzipScript($server, $cred, $serverZipPath, $serverReleasePath)
{
  Invoke-Command -ComputerName $server -Credential $cred 
    -ArgumentList $serverZipPath,$serverReleasePath -ScriptBlock
  {</pre>
<pre>    param($serverZipPath,$serverReleasePath)</pre>
<pre>    cd $serverReleasePath</pre>
<pre><strong>    &amp; 'C:\Program Files\7-Zip\7z.exe' x -y $serverZipPath</strong></pre>
<pre>  }</pre>
<pre>  return $true</pre>
<pre>}</pre>
<p>For completeness, the $cred variable is called with a Credentials object to save being prompted for a password if you only specify the username. Here&#8217;s a function to help generate this object:</p>
<pre># Purpose : Creates PSCredential object for server authentication
# Returns : PSCredential

function CreateCredentials($user, $password)
{
     $password = convertto-securestring $password -asplaintext -force
     New-Object System.Management.Automation.PSCredential $user, $password
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/09/16/powershell-remote-exe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to be one step ahead of UK Roadworks</title>
		<link>http://www.mindthe.net/devices/2010/09/15/how-to-be-one-step-ahead-of-uk-roadworks/</link>
		<comments>http://www.mindthe.net/devices/2010/09/15/how-to-be-one-step-ahead-of-uk-roadworks/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 13:32:27 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Comment]]></category>
		<category><![CDATA[elgin]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[roadworks]]></category>
		<category><![CDATA[uk]]></category>

		<guid isPermaLink="false">http://www.mindthe.net/devices/?p=192</guid>
		<description><![CDATA[Elgin is a UK government website that lists any roadworks currently underway or planned for the near-future. It's custom-search option allows you to hand-draw an area and create an email or RSS notification; allowing you to be one step ahead on your commute!]]></description>
			<content:encoded><![CDATA[<p>There is an assumption that UK government websites aren&#8217;t up to much. <a id="aptureLink_pyXVKQTFKI" href="http://www.elgin.gov.uk">Elgin</a> is a hidden gem of a website which lists roadworks from authorities which have joined their service. It&#8217;s either written or managed by <a id="aptureLink_xfW6Y94lIk" href="http://www.jacobs.com/">Jacobs</a>.</p>
<p>What&#8217;s fantastic about this website it gives you the ability to hand-draw an area on a map and be notified via Email or RSS feed of any roadworks currently underway and, more importantly, any planned for the near-future!</p>
<p>The <a id="aptureLink_Uair5C8Ny8" href="http://en.wikipedia.org/wiki/Traffic%20Management%20Act">Traffic Management Act 2004</a> meant that local councils have to publish their street-works register. The fantastic result of this is that you can map out an area which represents your community or commute and get notified before stuff happens.</p>
<p>When you&#8217;re on the <a id="aptureLink_mebgKcI8nh" href="http://www.elgin.gov.uk/index.cfm?fuseaction=streetworks.streetworksForm">Elgin Search page</a>, you can expand the &#8216;Area&#8217; section and select &#8216;Filter by drawing an area&#8217;. Then you can draw a polygon to represent the area you&#8217;re interested in.</p>
<p><a href="http://www.mindthe.net/devices/wp-content/uploads/ElginSearch.png"><img class="alignnone size-medium wp-image-193" title="Elgin Filter By Area" src="http://www.mindthe.net/devices/wp-content/uploads/ElginSearch-300x186.png" alt="" width="300" height="186" /></a></p>
<p>When you click &#8216;Search&#8217; you&#8217;ll see the results for that area. At the top of the results there&#8217;s the option to &#8216;Set up an e-mail alert or RSS feed for this search&#8217;. [Doesn't appear to work in Google Chrome]</p>
<p><a href="http://www.mindthe.net/devices/wp-content/uploads/ElginResults.png"><img class="alignnone size-medium wp-image-195" title="Elgin Results" src="http://www.mindthe.net/devices/wp-content/uploads/ElginResults-300x190.png" alt="" width="300" height="190" /></a></p>
<p>Brilliantly simple and allows you to stay one step ahead of your commute!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindthe.net/devices/2010/09/15/how-to-be-one-step-ahead-of-uk-roadworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

