<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Swingnchad's Blog</title>
	<atom:link href="http://swingnchad.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://swingnchad.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 23 Jun 2009 05:11:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='swingnchad.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Swingnchad's Blog</title>
		<link>http://swingnchad.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://swingnchad.wordpress.com/osd.xml" title="Swingnchad&#039;s Blog" />
	<atom:link rel='hub' href='http://swingnchad.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Using NAnt with an external remote server</title>
		<link>http://swingnchad.wordpress.com/2009/06/23/using-nant-with-an-external-remote-server/</link>
		<comments>http://swingnchad.wordpress.com/2009/06/23/using-nant-with-an-external-remote-server/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 05:01:01 +0000</pubDate>
		<dc:creator>swingnchad</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://swingnchad.wordpress.com/?p=28</guid>
		<description><![CDATA[Problem I was tasked to create our first build script for our website www.namesinstone.com  One major problem was using Nant with an external production server.  It was ok to get it to build our website, build  the unit tests, then copy the built files to our internal dev server (nant doesn&#8217;t copy .svn files).  I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=28&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Problem</h2>
<p>I was tasked to create our first build script for our website <a href="http://www.namesinstone.com/">www.namesinstone.com</a>  One major problem was using Nant with an external production server.  It was ok to get it to build our website, build  the unit tests, then copy the built files to our internal dev server (nant doesn&#8217;t copy .svn files).  I couldn&#8217;t find any options to copy the files to an external server, let alone copy them securely over the internet.  I tried the putty suite &#8211; plink and pscp which I almost got working with private and public keys, but never completly got it how I wanted.  My goal was to:</p>
<ol>
<li>Zip our website up locally</li>
<li>Copy it from our test server to our production server securely over the internet</li>
<li>Unzip it on the server.</li>
<li>Then copy the contents to the web site dir.</li>
</ol>
<p>With pscp.exe I was able to upload the zip.  But trying to get plink to unzip it on the external server and copy the files to a new location was painful.  After a couple days I gave up.</p>
<h2>Solution</h2>
<p>Now comes WCF&#8230;  If you are familiar with creating WCF services, save yourself the time and implement your own like I did.  If you&#8217;re not familiar with creating WCF&#8217;s, read this article and you&#8217;re on track.  Either way, spending time learning how to create WCF services is way more productive than fighting with pscp and Nant.  Here&#8217;s how I have it setup now:</p>
<ol>
<li>Cruise Control runs Nant script (btw, I use 3 different nant scripts each for dev, test, and prod)</li>
<li>Nant script executes my WCF console app client passing in 3 arguments: location of the zip file, environment (dev, test, prod) and -batch (to suppress all console.writeline()&#8217;s).</li>
<li>from there, the WCF client makes call to the WCF service to copy the zip file via a byte array.</li>
<li>The service then unzips the file using <a href="http://www.codeplex.com/DotNetZip" target="_blank">DotNetZip</a>.  (.net doesn&#8217;t have zip functionality built in)</li>
<li>The service copies the uncompressed files to the target website dir.</li>
</ol>
<h2>Conclusion</h2>
<p>Writing the service and client only took a couple days including integrating it with the already created nant script.  On top of that, WCF uses wshttp bindings which adds the security when transfering files.  A couple pain in the butt gotcha&#8217;s you should watch out for when transfering files using WCF:</p>
<ol>
<li>The web.config of your WCF service needs to set various attributes to transfer files larget than 50KB. </li>
<li>Make sure the web.config contains the setting to overwrite the IIS 4MB limit if your zip is bigger than that.</li>
<li>No changes need to be made to the app.config of the client.  Only web.config changes affect file transfer (from what I&#8217;ve experienced anyway)</li>
<li>Make sure the client and WCF service are different projects but part of the same solution so you can right click on the client project and choose &#8220;Add Service Reference&#8221;.</li>
</ol>
<p>With a lot of google searching and a lot of luck, you&#8217;ll get it working.  One more thing to get you motivated: now that it&#8217;s all setup it&#8217;s pretty slick.  I just have to open the Cruise Control Dashboard web page, click on one of my builds (Dev, Test, or Prod), then click the Force button to start the deployment process.  Sit back and watch the magic happen.  Now we have a one click solution to deploy from test to prod!  Very nice indeed!  And with the cctray.exe it makes it even nicer (not to mention Ncover).  I&#8217;m starting to like this build script thing, but boy it&#8217;s a pain in the rear to get working.  Some day it&#8217;ll get easier&#8230; some day&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/swingnchad.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/swingnchad.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/swingnchad.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=28&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://swingnchad.wordpress.com/2009/06/23/using-nant-with-an-external-remote-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75c7a35038152ffbfbfd58e22f5f907f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">swingnchad</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamically change WCF services</title>
		<link>http://swingnchad.wordpress.com/2009/06/23/dynamically-change-wcf-services/</link>
		<comments>http://swingnchad.wordpress.com/2009/06/23/dynamically-change-wcf-services/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 04:51:10 +0000</pubDate>
		<dc:creator>swingnchad</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://swingnchad.wordpress.com/?p=24</guid>
		<description><![CDATA[Problem You want to dynamically change web services in your client.  The most common scenario is connecting to a local, dev, test, and prod version of your WCF service. Solution From the client, create one service reference to your local service. When instantiating a new Service object from within the client, instead of using the parameterless [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=24&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Problem</h2>
<p>You want to dynamically change web services in your client.  The most common scenario is connecting to a local, dev, test, and prod version of your WCF service.</p>
<h2>Solution</h2>
<ol>
<li>From the client, create one service reference to your local service.</li>
<li>When instantiating a new Service object from within the client, instead of using the parameterless constructor, use one of the constructors asking for the EndPoint Address, or the remote address.  Pass in the url of the dev, test, or prod version of your service (and the configuration nam).  It couldn&#8217;t be easier!  In my console client, I checked the argument that was passed in and pointed the url to my dev, test or prod version respectively.  This is the same client app I refered to in my other post regarding Nant and WCF.</li>
<li>After I figured this out, I found a couple articles explaining pretty much the same thing, only they were refering to web services and not WCF services.</li>
</ol>
<p>Hope this little tidbit saves you the time it took me to figure it out (and I even went as far as wrapping the call to create a new proxy service, but that was quickly getting of hand).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/swingnchad.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/swingnchad.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/swingnchad.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=24&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://swingnchad.wordpress.com/2009/06/23/dynamically-change-wcf-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75c7a35038152ffbfbfd58e22f5f907f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">swingnchad</media:title>
		</media:content>
	</item>
		<item>
		<title>Handy software</title>
		<link>http://swingnchad.wordpress.com/2009/04/11/handy-software/</link>
		<comments>http://swingnchad.wordpress.com/2009/04/11/handy-software/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 05:23:26 +0000</pubDate>
		<dc:creator>swingnchad</dc:creator>
				<category><![CDATA[Chads interests]]></category>
		<category><![CDATA[free programs]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://swingnchad.wordpress.com/?p=4</guid>
		<description><![CDATA[Here's a list of software you may want:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=4&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m all about finding software to make my life easier and more productive.  Here&#8217;s a list of some of the software I use on a regular basis:</p>
<ol>
<li>OpenOffice (free) &#8211; like microsoft word,excel,powerpoint</li>
<li>Audacity (free) &#8211; for editing mp3&#8242;s.  Say you want to put 2 songs together or take out sweare words.  easy to use.</li>
<li>Firefox (free) &#8211; it&#8217;s a good browser.  supposedly not as easy to get viruses/spyware etc&#8230;</li>
<li>SuperAntispyware (free) - good for removing spyware.</li>
<li>Adware (free) - another good program for removing spyware.  You should run this like once a week or month.</li>
<li><a title="MalwareBytes Anti-malware" href="http://www.malwarebytes.org/mbam.php" target="_blank">malwarebyte&#8217;s anti-malware  </a>- good at removing viruses and spyware.</li>
<li>Photofiltre (free) - good photo editing app.  easy to use.  I&#8217;ve used many photo programs, and this one I have used the most.</li>
<li>Ulead Burn.now (comes with asus hardware) - good cd burning software.  Burns DVD&#8217;s too and is very powerful. </li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/swingnchad.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/swingnchad.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/swingnchad.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=4&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://swingnchad.wordpress.com/2009/04/11/handy-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75c7a35038152ffbfbfd58e22f5f907f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">swingnchad</media:title>
		</media:content>
	</item>
		<item>
		<title>Handy Adblocker</title>
		<link>http://swingnchad.wordpress.com/2009/04/11/handy-adblocker/</link>
		<comments>http://swingnchad.wordpress.com/2009/04/11/handy-adblocker/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 05:08:59 +0000</pubDate>
		<dc:creator>swingnchad</dc:creator>
				<category><![CDATA[Chads interests]]></category>
		<category><![CDATA[admuncher]]></category>
		<category><![CDATA[pop up blocker]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://swingnchad.wordpress.com/2009/04/11/handy-adblocker/</guid>
		<description><![CDATA[AdMuncher is a very nice program that removes adds from web pages.  I am in no way affiliated with Admuncher, but I would highly recommend for anyone that surfs the internet.  This app is not a standard pop-up blocker. It actually removes advertisements embedded in websites and widgets. It&#8217;s sweet.  It costs like $15 or something [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=3&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>AdMuncher is a very nice program that removes adds from web pages.  I am in no way affiliated with Admuncher, but I would highly recommend for anyone that surfs the internet.  This app is not a standard pop-up blocker. It actually removes advertisements embedded in websites and widgets. It&#8217;s sweet.  It costs like $15 or something for one license, but well worth it.  I build computers, and I make everyone I build them for (usually for family) pay for an admuncher license.   Go try it out for free:  <a href="http://www.admuncher.com/" target="_blank">Admuncher</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/swingnchad.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/swingnchad.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/swingnchad.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=swingnchad.wordpress.com&amp;blog=7315808&amp;post=3&amp;subd=swingnchad&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://swingnchad.wordpress.com/2009/04/11/handy-adblocker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75c7a35038152ffbfbfd58e22f5f907f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">swingnchad</media:title>
		</media:content>
	</item>
	</channel>
</rss>
