<?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>David Woods</title>
	<atom:link href="http://www.haveyougotwoods.ca/feed" rel="self" type="application/rss+xml" />
	<link>http://www.haveyougotwoods.ca</link>
	<description>Security, Tip, Tricks, Beer</description>
	<lastBuildDate>Sun, 20 May 2012 00:47:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>FluentBuild &#8211; 1.1 Beta</title>
		<link>http://www.haveyougotwoods.ca/2012/05/19/fluentbuild-1-1-beta</link>
		<comments>http://www.haveyougotwoods.ca/2012/05/19/fluentbuild-1-1-beta#comments</comments>
		<pubDate>Sun, 20 May 2012 00:47:05 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.haveyougotwoods.ca/?p=334</guid>
		<description><![CDATA[I have published the FB 1.1 Beta (http://code.google.com/p/fluent-build/downloads/list). This release contains some big changes. Task Syntax Gone are things like Run.[option].[option].Execute() and they have been replaced with Task.Run.Nunit(options=&#62;options.specific.to.runner). This removes the need to remember to use .Execute() all the time (I was constantly forgetting and I wrote the thing). I am fairly happy with it [...]]]></description>
			<content:encoded><![CDATA[<p>I have published the FB 1.1 Beta (<a href="http://code.google.com/p/fluent-build/downloads/list">http://code.google.com/p/fluent-build/downloads/list</a>).</p>
<p>This release contains some big changes.</p>
<p><strong>Task Syntax</strong></p>
<p>Gone are things like Run.[option].[option].Execute() and they have been replaced with Task.Run.Nunit(options=&gt;options.specific.to.runner). This removes the need to remember to use .Execute() all the time (I was constantly forgetting and I wrote the thing). I am fairly happy with it so far.</p>
<p>Exampes:</p>
<p>Task.Build.Csc.Target.Library(compiler =&gt; compiler.AddSources(sourceFiles)<br />
.AddRefences(thirdparty_rhino, thirdparty_nunit)<br />
.OutputFileTo(assembly_FluentBuild_Tests));</p>
<p>Task.Run.UnitTestFramework.Nunit(nUnitRunner=&gt;nUnitRunner.FileToTest(assembly_FluentBuild));</p>
<p>Task.Run.Zip(x=&gt;x.Compress</p>
<p>.SourceFolder(directory_compile)<br />
.UsingCompressionLevel.Nine<br />
.To(directory_release.File(&#8220;release.zip&#8221;)));</p>
<p><strong>FTP Publishing</strong><br />
As I mentioned in a previous post I added some quick and dirty FTP publishing. It only publishes a file at a time currently so its not a full fledged FTP publishing tool.</p>
<p><strong>Errors</strong><br />
For a while I only had the error message publishing but I have switched that to include the full exception as it was problematic to find errors before. There have also been some internal changes to how return codes are handled from programs. If a third party program throws an error then FB will return an error code of 1, not the error code of the third part application.</p>
<p><strong>Logger</strong><br />
The message logger code has been simplified a lot and will probably get another round of cleanup soon. It has been moved to Defaults.Logger for now but will probably get moved right into the BuildFile class you inherit from as that makes more sense to me from a user point of view.</p>
<p><strong>Whats Next?</strong><br />
I am getting fairly happy with the application right now but I would like to do more testing before I release it. I will be tweaking a bit of code and adding some more functional tests to the build but I hope not to have any big changes for the next while.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2012/05/19/fluentbuild-1-1-beta/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rudimentary FTP Support</title>
		<link>http://www.haveyougotwoods.ca/2012/05/15/rudimentary-ftp-support</link>
		<comments>http://www.haveyougotwoods.ca/2012/05/15/rudimentary-ftp-support#comments</comments>
		<pubDate>Wed, 16 May 2012 04:00:47 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[FluentBuild]]></category>

		<guid isPermaLink="false">http://www.haveyougotwoods.ca/?p=330</guid>
		<description><![CDATA[While it was planned as a feature in the future, necessity bumped it up for me on my current project so I added some rudimentary FTP support. Task.Publish.Ftp(x =&#62; x.Server(&#8220;ftp.server.com&#8221;) .UserName(&#8220;username&#8221;) .Password(&#8220;password&#8221;) .LocalFilePath(@&#8221;c:\temp\test.txt&#8221;) .Timeout(new TimeSpan(0,0,15,0)) .RemoteFilePath(&#8220;/html/&#8221;) ); It only supports one file at a time and re-authenticates per request for now so uploading a folder [...]]]></description>
			<content:encoded><![CDATA[<p>While it was planned as a feature in the future, necessity bumped it up for me on my current project so I added some rudimentary FTP support.</p>
<p>Task.Publish.Ftp(x =&gt; x.Server(&#8220;ftp.server.com&#8221;)<br />
.UserName(&#8220;username&#8221;)<br />
.Password(&#8220;password&#8221;)<br />
.LocalFilePath(@&#8221;c:\temp\test.txt&#8221;)<br />
.Timeout(new TimeSpan(0,0,15,0))<br />
.RemoteFilePath(&#8220;/html/&#8221;)<br />
);</p>
<p>It only supports one file at a time and re-authenticates per request for now so uploading a folder structure is not recommended at this point. A more full fledged solution will be coming.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2012/05/15/rudimentary-ftp-support/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Run Syntax</title>
		<link>http://www.haveyougotwoods.ca/2012/04/17/new-run-syntax</link>
		<comments>http://www.haveyougotwoods.ca/2012/04/17/new-run-syntax#comments</comments>
		<pubDate>Tue, 17 Apr 2012 22:04:16 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[FluentBuild]]></category>

		<guid isPermaLink="false">http://www.haveyougotwoods.ca/?p=326</guid>
		<description><![CDATA[I came up with a new run syntax that I like: Task.Run.Zip(x=&#62;x.Compress.SourceFile(&#8220;test.dll&#8221;).OutputTo(&#8220;test.zip&#8221;)); Task.Run.Executable(x=&#62;x.PathToExecutable(&#8220;test.exe&#8221;)); Due to the scope of the change (and the fact that I have not switched to git yet), I have committed this code but there are still a lot more changes to be polished (and some namespace moves still to be done). I hope [...]]]></description>
			<content:encoded><![CDATA[<p>I came up with a new run syntax that I like:</p>
<p>Task.Run.Zip(x=&gt;x.Compress.SourceFile(&#8220;test.dll&#8221;).OutputTo(&#8220;test.zip&#8221;));<br />
Task.Run.Executable(x=&gt;x.PathToExecutable(&#8220;test.exe&#8221;));</p>
<p>Due to the scope of the change (and the fact that I have not switched to git yet), I have committed this code but there are still a lot more changes to be polished (and some namespace moves still to be done). I hope to have some time for further refinement and a ton of cleanup after this change in the coming week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2012/04/17/new-run-syntax/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Run Syntax Feedback</title>
		<link>http://www.haveyougotwoods.ca/2012/04/12/new-run-syntax-feedback</link>
		<comments>http://www.haveyougotwoods.ca/2012/04/12/new-run-syntax-feedback#comments</comments>
		<pubDate>Thu, 12 Apr 2012 13:58:02 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[FluentBuild]]></category>

		<guid isPermaLink="false">http://www.haveyougotwoods.ca/?p=322</guid>
		<description><![CDATA[I have completed the new build sytax of Task.Build(Using.[Compiler].[Options]); which I like way better than the old syntax. It is a bit annoying to have a few extra brackets but already makes it easier to use to me. I liked it so much that I started applying this to the Run syntax but that is [...]]]></description>
			<content:encoded><![CDATA[<p>I have completed the new build sytax of Task.Build(Using.[Compiler].[Options]); which I like way better than the old syntax. It is a bit annoying to have a few extra brackets but already makes it easier to use to me. I liked it so much that I started applying this to the Run syntax but that is where I found things did not work as well. I figured I would throw out the syntax ideas I had and see what people thought:</p>
<p>&nbsp;<br />
<strong>Option One: Generic run method</strong><br />
+simple to use<br />
+expandable<br />
-need to know what can be run (might be in one namespace)<br />
-how do you handle executable return codes? (or other result objects)</p>
<p>Task.Run(Zip.Compress.SourceFile(&#8220;tests.dll&#8221;).UsingCompressionLevel.Ten);<br />
Task.Run(Zip.Decompress.SourceFile(&#8220;tests.zip&#8221;));<br />
Task.Run(Executable.Path(&#8220;test.exe&#8221;));<br />
Task.Run(Debugger);<br />
Task.Run(Nunit.Assembly(&#8220;tests.dll&#8221;));<br />
Task.Run(MsTest.Assembly(&#8220;tests.dll&#8221;));</p>
<p><strong>Option Two: Run narrows down choices then builders are used as arguments</strong><br />
+simple to use<br />
+lets you know options available<br />
+Allows for return codes for items that require it (or other result objects)<br />
-much more language required to learn</p>
<p>Task.Run.Zip(Compress.SourceFile(&#8220;tests.dll&#8221;).UsingCompressionLevel.Ten);<br />
Task.Run.Zip(Decompress.SourceFile(&#8220;tests.zip&#8221;));<br />
Task.Run.Executable(Executable.Path(&#8220;test.exe&#8221;));<br />
Task.Run.Debugger();<br />
Task.Run.UnitTestFramework(Nunit.Assembly(&#8220;tests.dll&#8221;));<br />
Task.Run.UnitTestFramework(MsTest.Assembly(&#8220;tests.dll&#8221;));<br />
<strong>Option Three: Run narrows down choices to the most narrow point then builders are used as arguments</strong><br />
+simple to use<br />
+lets you know options available<br />
+Allows for return codes for items that require it (or other result objects)<br />
+Intellisense would only give you one option for the arg to pass in<br />
-Bit more verbose with the &#8220;Options&#8221; builders</p>
<p>Task.Run.Zip.Compress(CompressOptions.SourceFile(&#8220;tests.dll&#8221;).UsingCompressionLevel.Ten);<br />
Task.Run.Zip.Decompress(DecompressOptions.SourceFile(&#8220;tests.zip&#8221;));<br />
Task.Run.Executable(Executable.Path(&#8220;test.exe&#8221;));<br />
Task.Run.Debugger();<br />
Task.Run.UnitTestFramework.Nunit(NunitOptions.Assembly(&#8220;tests.dll&#8221;));<br />
Task.Run.UnitTestFramework.MsTest(MsTestOptions.Assembly(&#8220;tests.dll&#8221;));<br />
<strong>Option Four: Have a runners factory class that creates the builders</strong><br />
-need to know to do Runners.<br />
+always know where to start (once you know to use Runners.<br />
+simple syntax<br />
-How do you handle executable return codes? (or other result objects)</p>
<p>Task.Run(Runners.Zip.Compress.SourceFile(&#8220;tests.dll&#8221;).UsingCompressionLevel.Ten);<br />
Task.Run(Runners.Zip.Decompress.SourceFile(&#8220;tests.zip&#8221;));<br />
Task.Run(Runners.Executable.Path(&#8220;test.exe&#8221;));<br />
Task.Run(Runners.Debugger);<br />
Task.Run(Runners.Nunit.Assembly(&#8220;tests.dll&#8221;));<br />
Task.Run(Runners.MsTest.Assembly(&#8220;tests.dll&#8221;));</p>
<p>Let me know your thoughts or give me other options to make this simple and intuitive!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2012/04/12/new-run-syntax-feedback/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Update</title>
		<link>http://www.haveyougotwoods.ca/2012/04/09/the-update</link>
		<comments>http://www.haveyougotwoods.ca/2012/04/09/the-update#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:27:47 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.haveyougotwoods.ca/?p=318</guid>
		<description><![CDATA[Well my life has been busy with lots of personal drama. Hopefully that is all behind me now. I have really lost the urge and drive to blog (plus being crazy busy does not help). For the future I am going to be focusing posts on some of my open source work. Namely FluentBuild and FluentFilesystem. [...]]]></description>
			<content:encoded><![CDATA[<p>Well my life has been busy with lots of personal drama. Hopefully that is all behind me now. I have really lost the urge and drive to blog (plus being crazy busy does not help). For the future I am going to be focusing posts on some of my open source work. Namely FluentBuild and FluentFilesystem.</p>
<p>FluentBuild, is my open source fluent interface around doing builds. It has been coming along as I get time and it is almost to a place that I like it. I found the filesystem interface really became its own beast so I am spinning that off into its own library (<a href="https://github.com/GotWoods/FluentFs">https://github.com/GotWoods/FluentFs</a>). I have a few remaining beefs with FluentBuild:</p>
<p>1) Having to append .Execute() to the end of a lot of the tasks. I always forget and I wrote the damn thing. I will be changing the interface around to more of a Task.Build(details go in here); I am thinking. This should make things simpler to me.</p>
<p>2) The calling out to external executables (which happens a lot) is not where I want it to be at. I am trying to find some time to revise this. My goal is to have a set of injectable processors that can analyze the output from the executable and determine what to do. This will allow for more fine grained control over how output is dealt with. Most of this should be transparent to the user but it will of course be extendable and simple to use.</p>
<p>&nbsp;</p>
<p>So the roadmap to me is this:</p>
<ol>
<li>Now that FluentBuild and FluentFS is split I need a way to merge it all back simply so that users are not dependent on two projects. It also guarantees compatibility.</li>
<li>Possibly migrating to github (I enjoyed the experience with FluentFS so FluentBuild may get migrated as well)</li>
<li>Removing the need for .Execute() on methods</li>
<li>Reworking the executable callouts.</li>
</ol>
<p>So lots of work ahead of me on this but getting closer to what I want it to do. I have been using it on several projects and I feel that it is getting closer to a release.</p>
<p>I would like to thank all the people who have given feedback, patches, and bug reports for the project!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2012/04/09/the-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dropping my MVP</title>
		<link>http://www.haveyougotwoods.ca/2011/02/02/dropping-my-mvp</link>
		<comments>http://www.haveyougotwoods.ca/2011/02/02/dropping-my-mvp#comments</comments>
		<pubDate>Wed, 02 Feb 2011 16:06:11 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://haveyougotwoods.com/archive/2011/02/02/Dropping-my-MVP.aspx</guid>
		<description><![CDATA[I have decided to drop out of Microsoft’s Most Valuable Professional Program. I have decided this for many reasons. Mainly I feel the program has no value to me and that MVPs are of no value to MS. Experts MS states how they have these “experts” in the community and that are involved in the [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml><br />
<o:OfficeDocumentSettings><br />
<o:AllowPNG /><br />
</o:OfficeDocumentSettings><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
<w:WordDocument><br />
<w:View>Normal</w:View><br />
<w:Zoom>0</w:Zoom><br />
<w:TrackMoves /><br />
<w:TrackFormatting /><br />
<w:PunctuationKerning /><br />
<w:ValidateAgainstSchemas /><br />
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><br />
<w:IgnoreMixedContent>false</w:IgnoreMixedContent><br />
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><br />
<w:DoNotPromoteQF /><br />
<w:LidThemeOther>EN-US</w:LidThemeOther><br />
<w:LidThemeAsian>X-NONE</w:LidThemeAsian><br />
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript><br />
<w:Compatibility><br />
<w:BreakWrappedTables /><br />
<w:SnapToGridInCell /><br />
<w:WrapTextWithPunct /><br />
<w:UseAsianBreakRules /><br />
<w:DontGrowAutofit /><br />
<w:SplitPgBreakAndParaMark /><br />
<w:EnableOpenTypeKerning /><br />
<w:DontFlipMirrorIndents /><br />
<w:OverrideTableStyleHps /><br />
</w:Compatibility><br />
<m:mathPr><br />
<m:mathFont m:val="Cambria Math" /><br />
<m:brkBin m:val="before" /><br />
<m:brkBinSub m:val="&#45;-" /><br />
<m:smallFrac m:val="off" /><br />
<m:dispDef /><br />
<m:lMargin m:val="0" /><br />
<m:rMargin m:val="0" /><br />
<m:defJc m:val="centerGroup" /><br />
<m:wrapIndent m:val="1440" /><br />
<m:intLim m:val="subSup" /><br />
<m:naryLim m:val="undOvr" /><br />
</m:mathPr></w:WordDocument><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"<br />
DefSemiHidden="true" DefQFormat="false" DefPriority="99"<br />
LatentStyleCount="267"><br />
<w:LsdException Locked="false" Priority="0" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Normal" /><br />
<w:LsdException Locked="false" Priority="9" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="heading 1" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 1" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 2" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 3" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 4" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 5" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 6" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 7" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 8" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 9" /><br />
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /><br />
<w:LsdException Locked="false" Priority="10" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Title" /><br />
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /><br />
<w:LsdException Locked="false" Priority="11" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /><br />
<w:LsdException Locked="false" Priority="22" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Strong" /><br />
<w:LsdException Locked="false" Priority="20" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /><br />
<w:LsdException Locked="false" Priority="59" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Table Grid" /><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /><br />
<w:LsdException Locked="false" Priority="1" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 1" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 1" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 1" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /><br />
<w:LsdException Locked="false" Priority="34" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /><br />
<w:LsdException Locked="false" Priority="29" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Quote" /><br />
<w:LsdException Locked="false" Priority="30" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 1" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 1" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 2" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 2" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 2" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 2" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 2" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 3" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 3" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 3" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 3" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 3" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 4" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 4" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 4" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 4" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 4" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 5" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 5" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 5" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 5" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 5" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 6" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 6" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 6" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 6" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 6" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /><br />
<w:LsdException Locked="false" Priority="19" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /><br />
<w:LsdException Locked="false" Priority="21" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /><br />
<w:LsdException Locked="false" Priority="31" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /><br />
<w:LsdException Locked="false" Priority="32" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /><br />
<w:LsdException Locked="false" Priority="33" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Book Title" /><br />
<w:LsdException Locked="false" Priority="37" Name="Bibliography" /><br />
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /><br />
</w:LatentStyles><br />
</xml><![endif]--><!--[if gte mso 10]></p>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<p><![endif]--></p>
<p class="MsoNormal">I have decided to drop out of Microsoft’s Most Valuable Professional Program. I have decided this for many reasons. Mainly I feel the program has no value to me and that MVPs are of no value to MS. </p>
<p class="MsoNormal"><strong style="">Experts</strong></p>
<p class="MsoNormal">MS states how they have these “experts” in the community and that are involved in the products. While I have met some really smart MVPs I have also met some that are so out to lunch on things yet MS still considers them experts. To me this completely devalues the MVP program. I am definitely no exception to this. I am a MVP in developer security yet I don’t consider myself to be an expert. Interested yes. Expert no. </p>
<p class="MsoNormal">The way you get in is by contributing to the community. I had done lots of this and it was really nice to get recognized for it. Once you are in you are supposed to be this expert that provides feedback to the products that MS is building. Now this is where the program breaks down.</p>
<p class="MsoNormal"><strong style="">Products</strong></p>
<p class="MsoNormal">Firstly most products you never hear about until it is too late. I hear about more MS technology from the mainstream media than I do from the MVP program. As a MVP who is supposed to be like an insider I thought that they would be looking to us for feedback on these technologies. But they don’t. They will take it after the product is released though but by then there are usually too many issues with the technology to be overcome.</p>
<p class="MsoNormal">While some products are great there are a big few that still irritate me:</p>
<p class="MsoNormal"><span style=""> </span>TFS is garbage if you have used anything else. I should never have to struggle to get things under source control as much as I have with this product. I should never have to struggle for days/weeks to install it. I should never have so much trouble configuring it or applying checkin policies. If any MVP worth their salt was asked about this then MS should know this. </p>
<p class="MsoNormal">MSBuild is another failed technology to me. It does not come close to the power of Nant so if I am going to pay the XML tax I will pay it with Nant. I will say that it is nice that proj files are msbuild files yet whenever I have had to customize my builds with MSBuild I want to hurt myself. At first I thought it was the learning curve but to me the product just does not meet my needs. Again if an MVP that uses a build technology was asked then MS would have known about this.</p>
<p class="MsoNormal">MSTest also missed the mark to me when they said it was not geared towards people who do TDD. Really? No one else does TDD? I am the only MVP that does? I think not.</p>
<p class="MsoNormal">The big one that continues to bug me is Entity Framework. At the ‘08 MVP summit a lot of the MVPs that saw it before it was announced pointed out the serious issues it has. At the ‘09 summit we were excited to see the improvements they had made but instead we were shown the same crap that was the ‘08 entity framework. This spawned off the Entity Framework Vote Of Non Confidence and finally in ’11 we have some of the changes that we said were so needed in ’08. Good job valuing the input of the people that actually have to use the crap you put out. </p>
<p class="MsoNormal"><strong style="">MS “Listens”/”Cares”</strong></p>
<p class="MsoNormal">To me it seems that MS having MVPs is a way for MS to feel that they are in touch with the community at large. This is great for a company to do but it seems like the feedback that is given falls on deaf ears for many products. I am not saying that this is for all products though as some do really care about feedback. For the most part though it feels like any feedback given just falls into a void. When I asked for some contacts for TFS/MSBuild/MSTest I was told to send my feedback to my MVP lead and they would forward it on…. Because that is open. You want MVPs to be involved yet filtered (I felt anyways). I have had more interaction with MS staff by tweeting things that I have through the MVP program.</p>
<p class="MsoNormal">The other big issue I have with MS in general is being treated like we will jump through hoops to help them succeed. There have been a number of “tech x is launching in a few weeks so build something” so we can showcase it emails I have received. Well that is great but how am I going to build a good app on a new technology with little documentation and no access to anyone at MS who can give me some accurate answers to issues? I understand that MS staff are not there to troubleshoot my application but on new/unreleased technology it would be good to have some sort of access if only an internal message board.</p>
<p class="MsoNormal">There are some internal lists at MS for MVPs as well. I found out about the security one after being a security MVP<span style="">  </span>for OVER A YEAR. Now that I am on it…. Not much happens. There is little in the way of solicitation for feedback and there is little feedback provided. I assume this is because the security space is pretty quiet but then I am surprised to see things at the summit that I had no idea were being developed.</p>
<p class="MsoNormal">The most surprising thing to me was when I told my MVP lead that I was not interested in participating in the program. The response was: “No problem.  Thanks for letting me know Dave.  Good luck in the future”. I expected maybe a bit more of a “Why?” response but I am not surprised that MS does not care about what other people think. Maybe, because I have become harder on MS that they are happy to be rid of me. Who knows.</p>
<p class="MsoNormal">Maybe I am being hard on the program. Our MVP lead is great and tells us that whatever we need he will make happen. Great but how about you let us know some of the things that you can do for us? If you want something like WP7 to succeed get more than 5 dev phones and let us know you have them if we want to build applications. If MS is thinking of a new technology solicit the MVPs for people that use or have an interest in the new tech and get their feedback at the START of development instead of at the end.</p>
<p class="MsoNormal"><strong style="">Rewards</strong></p>
<p class="MsoNormal">The MVP award is given to those that contribute to the community. I enjoy doing this and I will continue to do this whenever I can. Unfortunately it costs a lot of time and money to contribute to the community. If I give a talk I have spent 40 to 200 hours preparing (yes 200 hours on a 1 hour talk) plus the costs to travel to another city, food, and accommodation. <span style=""> </span>MS’s reward is a MSDN subscription and half of a hotel room if I attend the summit (there used to be more benefits but they have been rolled back to save costs). It would probably be more affordable for me to purchase an MSDN subscription on my own and stop speaking entirely. I have gained no additional work from the MVP program, no additional speaking gigs, and have not made relatively few connections to others because of the MVP program.</p>
<p class="MsoNormal"><strong style="">Fin</strong></p>
<p class="MsoNormal">The program has become a black mark to me. It does not contain just experts (heck, they let me in). It does not certify that anyone has a clue about anything (and some of the MVP only lists prove this). It has not opened any doors for me. It does not help me stop MS from releasing crap that I have to work with. All it does for me is give me an MSDN subscription and another line on my resume. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2011/02/02/dropping-my-mvp/feed</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
		<item>
		<title>Security Trends</title>
		<link>http://www.haveyougotwoods.ca/2010/12/29/security-trends</link>
		<comments>http://www.haveyougotwoods.ca/2010/12/29/security-trends#comments</comments>
		<pubDate>Wed, 29 Dec 2010 22:29:46 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://haveyougotwoods.com/archive/2011/01/10/Security-Trends.aspx</guid>
		<description><![CDATA[I have been around computers for most of my life and for the past ten years I have been involved in corporate IT on both the network side and the programming side. I was reflecting on some of the changes and trends over the past decade and thought I would share them. We have realized [...]]]></description>
			<content:encoded><![CDATA[<p>I have been around computers for most of my life and for the past ten years I have been involved in corporate IT on both the network side and the programming side. I was reflecting on some of the changes and trends over the past decade and thought I would share them.</p>
<ol>
<li>We have realized that network security is important. Every organization I visit seems to have a firewall, antivirus, and windows updates turned on. Ten years ago it was every computer was connected straight to the internet with an exposed c$ share it seems like. Finally most corporate (and many home users) seem to have taken some basic security measures.
    </li>
<li>Users still click on anything that pops up on the screen until they get the application/website to work. I have tried to educate people on this but it has become apparent to many of us in the industry that users just want things to work and it only when they go wrong that they care. For instance, my parents install every plugin they are prompted to as they feel that if it was bad their antivirus would catch it. I don&#8217;t fault them for it, it is just human nature. We expect the locks on our house to keep people out when it is simple to smash a window (or cut a hole in the wall). We are coming around the corner on this one and seeing that we can&#8217;t educate everyone and things need to just be more secure by default and leak less information.</li>
<li>People care a lot more about their privacy now. People also don&#8217;t realize that most places gathering information don&#8217;t care about you as a person, they care about you as a demographic. Granted it is not a happy thought to know how much info about you is floating around but if it personalizes my searches and shows me advertisements for things I am interested in so what? It is only an issue (to me) if that information is used for nefarious purposes.</li>
<li>Many more technologies are shipping with a more &#8220;secure by default&#8221; mentality. The *nix/bsd attitude has been like this since I can remember and Microsoft has really turned a corner and secured their products. I remember when a new client would tell us they were running an IIS server and we would just laugh, wipe the box, and install FreeBSD/Apache for them. Nowdays I only laugh when people have an Adobe product installed (we all do&#8230; so ha ha). Adobe has realized that this is starting to hurt them and are making a big security push like MS did years ago. 
    </li>
<li>Schools have not taught about security and they still don&#8217;t. I see a bit of growth in this area but I feel this is incredibly lacking. Every time I give a presentation and ask how many people don&#8217;t know about SQL injection someone still raises their hands. It is not acceptable to have developers that don&#8217;t even know about the most basic/common security holes and how to prevent them. It is like hiring an electrician that does not know how to use a circuit breaker: they might get by for years without an incident but it is bound to happen eventually.</li>
<li>Phishing/scams/chain letters has risen and fallen a lot. I find most people I talk to realize that people are trying to scam them (or will ask others to see if it is a scam) and that they know if they don&#8217;t forward this message to ten other people a kitten will die (except for my sister). </li>
<li>Piracy became common place. Back in the day it was technically difficult to find the software/music/movies and then crack it if necessary. Now my grandma can run a P2P client (or the vast array of other tools) to get her favorite songs. It is common place and it is sad. Not because I love big rich Hollywood types that complain about the money being stolen from them as they drive through Starbucks in a gold plated Bently. It is the fact that for such a huge market that they continually fail to make it simple to get the content we want quickly, conveniently, and be able to use it how we see fit. If I ran an ice cream store and everyone wanted paint flavored ice cream served off a piece of copper pipe you would see me at the hardware store every day. I think they are starting to get it and I hope to see some progress there so that everyone is happy (except me&#8230;. until I get a gold plated Starbucks).</li>
<li>The goal of software development was and still is for the most part to deliver working software. Security takes a huge back seat and is almost never a first class citizen. I don&#8217;t see this trend changing much. The nice thing is that many languages are shipping in a more secure configuration which helps developers not leave as many gaping holes but I still feel that education is very important for developers.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2010/12/29/security-trends/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluent Build &#8211; Unreleased Features</title>
		<link>http://www.haveyougotwoods.ca/2010/12/24/fluent-build-unreleased-features</link>
		<comments>http://www.haveyougotwoods.ca/2010/12/24/fluent-build-unreleased-features#comments</comments>
		<pubDate>Fri, 24 Dec 2010 04:45:59 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[FluentBuild]]></category>

		<guid isPermaLink="false">http://haveyougotwoods.com/archive/2011/01/05/Fluent-Build-Unreleased-Features.aspx</guid>
		<description><![CDATA[There are some features not included with the current beta but are available if you download from source. TeamCityPlugin This is a plugin that I wrote that allows TeamCity to work with FluentBuild. TeamCity plugins are written in Java and I am not a Java developer but it seems to work quite well in my [...]]]></description>
			<content:encoded><![CDATA[<p>There are some features not included with the current beta but are available if you download from source.</p>
<p><span style="font-weight: bold;">TeamCityPlugin</span><br />
This is a plugin that I wrote that allows TeamCity to work with FluentBuild. TeamCity plugins are written in Java and I am not a Java developer but it seems to work quite well in my environment(s) so far but I am still not 100% confident to officially release it.</p>
<p><span style="font-weight: bold;">BuildFileConverter</span><br />
For my testing I was converting peoples NAnt scripts by hand and it started to get pretty tedious. I decided to create a really quick and dirty converter application. The application works fairly well to get the initial conversion from nant to FB. It will create your variables (and attempting to determine if they are BuildFolders or BuildArtifacts), initialize them, and create methods for each build target that you had. It does not parse build targets and convert them to FB syntax yet though.</p>
<p><span style="font-weight: bold;">BuildUI</span><br />
I always found reading output on the command line was a pain so I started working on a UI component to run builds. It is in its very early stages but it is much nicer than using most command line applications I hope.</p>
<p>Where these features will go, I am not sure but if you want to play around with them then feel free.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2010/12/24/fluent-build-unreleased-features/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fluent Build Beta</title>
		<link>http://www.haveyougotwoods.ca/2010/12/19/fluent-build-beta</link>
		<comments>http://www.haveyougotwoods.ca/2010/12/19/fluent-build-beta#comments</comments>
		<pubDate>Sun, 19 Dec 2010 21:50:32 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[FluentBuild]]></category>

		<guid isPermaLink="false">http://haveyougotwoods.com/archive/2010/12/19/Fluent-Build-Beta.aspx</guid>
		<description><![CDATA[For those of you that follow me on twitter (@gotwoods is my handle) you may have seen that I have been working on a new open source project called FluentBuild which I am happy to announce is in Beta. This project has kept me quite busy lately but the core of the app is now [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/swfobject.js"></script><script type="text/javascript">// <![CDATA[
            swfobject.registerObject("csSWF", "9.0.115", "/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/expressInstall.swf");
// ]]&gt;</script>For those of you that follow me on twitter (@gotwoods is my handle) you may have seen that I have been working on a new open source project called FluentBuild which I am happy to announce is in Beta. This project has kept me quite busy lately but the core of the app is now done.</p>
<p>FluentBuild is a .NET fluent language around builds. It makes doing builds way easier than in Nant, MsBuild, and (in my mind) other build languages. With it you can now write a build file in C# (other language support on the way) within visual studio which allows you to get intellisense, refactoring support, and you are even able to debug your build files.</p>
<p>The project site is <a href="javascript:void(0);/*1292794701117*/">http://code.google.com/p/fluent-build/</a></p>
<p>I just finished putting together a demo video. I recorded my screen at high resolution so full screen viewing is recommended and the volume recorded a bit loud so turn down your speakers to start.</p>
<div id="media"><object id="csSWF" width="800" height="600" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showall" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value="autostart=false&amp;thumb=/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/FirstFrame.png&amp;thumbscale=45&amp;color=0x000000,0x000000" /><param name="src" value="/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/Untitled_controller.swf" /><embed id="csSWF" width="800" height="600" type="application/x-shockwave-flash" src="/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/Untitled_controller.swf" quality="best" allowfullscreen="true" scale="showall" allowscriptaccess="always" flashvars="autostart=false&amp;thumb=/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/FirstFrame.png&amp;thumbscale=45&amp;color=0x000000,0x000000" /><!--[if !IE]>&#8211;> <img src="http://www.haveyougotwoods.ca/wp-includes/js/tinymce/themes/advanced/img/trans.gif" class="mceItemMedia mceItemFlash" width="800" height="600" data-mce-json="{'video':{},'params':{'quality':'best','allowfullscreen':'true','scale':'showall','allowscriptaccess':'always','flashvars':'autostart=false&amp;thumb=/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/FirstFrame.png&amp;thumbscale=45&amp;color=0x000000,0x000000','src':'/images/haveyougotwoods_com/FluentBuildDemo1_0_Beta/Untitled_controller.swf'},'object_html':'&lt;!--&lt;![endif]--&gt; &lt;!--[if !IE]&gt;--&gt; '}"></img> <!--<![endif]--> </object></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2010/12/19/fluent-build-beta/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WCF Security &#8211; Part 1: Message &amp; Transport Security</title>
		<link>http://www.haveyougotwoods.ca/2010/12/16/wcf-security-part-1-message-transport-security</link>
		<comments>http://www.haveyougotwoods.ca/2010/12/16/wcf-security-part-1-message-transport-security#comments</comments>
		<pubDate>Thu, 16 Dec 2010 22:00:02 +0000</pubDate>
		<dc:creator>david.woods</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://haveyougotwoods.com/archive/2010/12/16/319.aspx</guid>
		<description><![CDATA[WCF has a huge security component to it (as rightly it should). The technology is massively configurable to support almost any security scenario one can dream up. Unfortunately this also makes it massively hard to learn and implement successfully and many developers tend to work around the security rather than learn how to implement it [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml><br />
<o:OfficeDocumentSettings><br />
<o:RelyOnVML /><br />
<o:AllowPNG /><br />
</o:OfficeDocumentSettings><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
<w:WordDocument><br />
<w:View>Normal</w:View><br />
<w:Zoom>0</w:Zoom><br />
<w:TrackMoves /><br />
<w:TrackFormatting /><br />
<w:PunctuationKerning /><br />
<w:ValidateAgainstSchemas /><br />
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><br />
<w:IgnoreMixedContent>false</w:IgnoreMixedContent><br />
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><br />
<w:DoNotPromoteQF /><br />
<w:LidThemeOther>EN-US</w:LidThemeOther><br />
<w:LidThemeAsian>X-NONE</w:LidThemeAsian><br />
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript><br />
<w:Compatibility><br />
<w:BreakWrappedTables /><br />
<w:SnapToGridInCell /><br />
<w:WrapTextWithPunct /><br />
<w:UseAsianBreakRules /><br />
<w:DontGrowAutofit /><br />
<w:SplitPgBreakAndParaMark /><br />
<w:EnableOpenTypeKerning /><br />
<w:DontFlipMirrorIndents /><br />
<w:OverrideTableStyleHps /><br />
</w:Compatibility><br />
<m:mathPr><br />
<m:mathFont m:val="Cambria Math" /><br />
<m:brkBin m:val="before" /><br />
<m:brkBinSub m:val="&#45;-" /><br />
<m:smallFrac m:val="off" /><br />
<m:dispDef /><br />
<m:lMargin m:val="0" /><br />
<m:rMargin m:val="0" /><br />
<m:defJc m:val="centerGroup" /><br />
<m:wrapIndent m:val="1440" /><br />
<m:intLim m:val="subSup" /><br />
<m:naryLim m:val="undOvr" /><br />
</m:mathPr></w:WordDocument><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"<br />
DefSemiHidden="true" DefQFormat="false" DefPriority="99"<br />
LatentStyleCount="267"><br />
<w:LsdException Locked="false" Priority="0" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Normal" /><br />
<w:LsdException Locked="false" Priority="9" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="heading 1" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 1" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 2" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 3" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 4" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 5" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 6" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 7" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 8" /><br />
<w:LsdException Locked="false" Priority="39" Name="toc 9" /><br />
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /><br />
<w:LsdException Locked="false" Priority="10" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Title" /><br />
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /><br />
<w:LsdException Locked="false" Priority="11" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /><br />
<w:LsdException Locked="false" Priority="22" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Strong" /><br />
<w:LsdException Locked="false" Priority="20" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /><br />
<w:LsdException Locked="false" Priority="59" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Table Grid" /><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /><br />
<w:LsdException Locked="false" Priority="1" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 1" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 1" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 1" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /><br />
<w:LsdException Locked="false" Priority="34" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /><br />
<w:LsdException Locked="false" Priority="29" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Quote" /><br />
<w:LsdException Locked="false" Priority="30" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 1" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 1" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 2" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 2" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 2" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 2" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 2" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 3" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 3" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 3" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 3" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 3" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 4" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 4" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 4" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 4" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 4" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 5" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 5" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 5" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 5" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 5" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 6" /><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 6" /><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 6" /><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 6" /><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 6" /><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /><br />
<w:LsdException Locked="false" Priority="19" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /><br />
<w:LsdException Locked="false" Priority="21" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /><br />
<w:LsdException Locked="false" Priority="31" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /><br />
<w:LsdException Locked="false" Priority="32" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /><br />
<w:LsdException Locked="false" Priority="33" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Book Title" /><br />
<w:LsdException Locked="false" Priority="37" Name="Bibliography" /><br />
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /><br />
</w:LatentStyles><br />
</xml><![endif]--><!--[if gte mso 10]></p>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<p><![endif]--></p>
<p class="MsoNormal">WCF has a huge security component to it (as rightly it should). The technology is massively configurable to support almost any security scenario one can dream up. Unfortunately this also makes it massively hard to learn and implement successfully and many developers tend to work around the security rather than learn how to implement it correctly. With a bit of knowledge WCF security is not nearly as intimidating as one may think.</p>
<p class="MsoNormal">There are several security concerns to deal with in any communication technology. The top two most common concerns<span style="">  </span>are: making sure that no one can read, modify, or replay a sensitive message and ensuring that a caller is authenticated<span style="">  </span>to use the system and authorized to access the resources they are allowed to access (and denied access to the ones they are not allowed to access of course). The other concerns are usually around Availability (i.e. making sure the service is resistant to Denial Of Service attacks) and Auditing (being able to log and monitor security events). </p>
<p class="MsoNormal"><strong style="">Message Protection<br />
</strong><br />
Protection of the traffic in transit is easy to use and is typically turned on by default (basicHTTPBinding has no security by default). There are two choices to make with securing traffic: Transport or Message security. Transport security relies on security builtin to the protocol you are using (e.g. HTTPS for HTTPBindings and TLS for TCP bindings). Message security lets WCF sign and encrypt messages and then sends it across the transport. </p>
<p class="MsoNormal"><strong style="">Transport Security:<br />
</strong>+Interoperability: Neither party in a communication need to support WS-Security specifications<br />
+Potentially better performance<br />
-Security is point to point. If a message is routed through an intermediary it will not be guaranteed to be secure (i.e. many load balancers accept SSL traffic, decrypt it, and send it unencrypted to a node in its array)<br />
-Supports a smaller set of credentials and claims used for authentication<br />
-All or nothing: A message is either encrypted or it is not<br />
<strong style=""><br />
Message Security:</strong><br />
+End to end security: message security survives being routed through intermediaries<br />
+Allows partial message signing/encryption so that only messages that need protection can be protected<br />
+Transport independent: Message security can be used with any transport protocol<br />
+supports a large set of credentials and claims<br />
-May reduce performance as each message is secured and can not take advantage of hardware acceleration<br />
-Not as interoperable as both sides must implement the WS-Security specification</p>
<p class="MsoNormal"> </p>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse; border: medium none;" class="MsoTableGrid">
<tbody>
<tr style="height: 15.75pt;">
<td valign="top" style="border: 1pt solid rgb(187, 187, 187); background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt; font-weight: bold;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Binding </span></p>
</td>
<td valign="top" style="border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(187, 187, 187) rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt; font-weight: bold;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Transport mode support   </span></p>
</td>
<td valign="top" style="border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(187, 187, 187) rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt; font-weight: bold;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Message mode support </span></p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">basicHTTPBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">HTTPS</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">HTTP basic authentication<br />
            WS-Security</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">wsHTTPBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">HTTPS</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">WS-Security<br />
            SOAP message with credentials sent over HTTPS transport security</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">wsDualHTTPBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">None</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">WS-Security</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">netTCPBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">TLS over TCP </p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">WS-Security</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">netNamedPipeBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">Negotiated (best compatible support is used)</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">None</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">netMSMQBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">RC4 or AES (default is RC4). Messages signed with receiving queues   public certificate.</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">WS-Security</p>
</td>
</tr>
<tr style="">
<td width="167" valign="top" style="width: 125.2pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">wsFederationHttpBinding</p>
</td>
<td width="231" valign="top" style="width: 172.95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">HTTPS</p>
</td>
<td width="241" valign="top" style="width: 180.65pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal">WS-Security</p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"> </p>
<p class="MsoNormal">There are also a few other approaches as well. There is the hybrid TransportWithMessageCredential which the client credentials are provided at the message level and the remainder (the message itself and service authentication) is secured by the transport. The other type is TransportCredentialOnly which is ONLY for basicHTTPBinding that does mutual authentication at the transport level. <span style="">    </span></p>
<table width="100%" cellspacing="0" cellpadding="0" border="1" style="width: 100%; border-collapse: collapse; border: medium none;" class="MsoNormalTable">
<tbody>
<tr style="height: 15.75pt;">
<td valign="top" style="border: 1pt solid rgb(187, 187, 187); background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Binding </span></p>
</td>
<td valign="top" style="border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(187, 187, 187) rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Transport mode support   </span></p>
</td>
<td valign="top" style="border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(187, 187, 187) rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Message mode support </span></p>
</td>
<td valign="top" style="border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(187, 187, 187) rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(229, 229, 229); padding: 3pt; height: 15.75pt;">
<p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"><span style="font-size: 10.5pt; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">TransportWithMessageCredential   support </span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">BasicHttpBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">WSHttpBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">WSDualHttpBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">NetTcpBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">NetNamedPipeBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">NetMsmqBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">MsmqIntegrationBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
</tr>
<tr style="">
<td valign="top" style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187); background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">wsFederationHttpBinding</span></strong><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;" /></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">No</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
<td valign="top" style="border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(187, 187, 187) rgb(187, 187, 187) -moz-use-text-color; background: none repeat scroll 0% 0% white; padding: 3pt;">
<p style="margin-right: 0.75pt; margin-left: 0.75pt; line-height: 140%;" class="MsoNormal"><span style="font-size: 9.5pt; line-height: 140%; font-family: &quot;Segoe UI&quot;,&quot;sans-serif&quot;; color: black;">Yes</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal">From <a href="http://msdn.microsoft.com/en-us/library/ms731172.aspx">http://msdn.microsoft.com/en-us/library/ms731172.aspx</a></p>
<p class="MsoNormal">
</p>
<p class="MsoNormal">Up Next: Authentication</p>
<p class="MsoNormal"><a href="http://msdn.microsoft.com/en-us/library/ms731172.aspx"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haveyougotwoods.ca/2010/12/16/wcf-security-part-1-message-transport-security/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

