<?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>Adam Caudill&#039;s Blog &#187; .NET</title>
	<atom:link href="http://adamcaudill.com/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://adamcaudill.com</link>
	<description>Adam&#039;s view on technology, software development, and world domination.</description>
	<lastBuildDate>Sat, 04 Feb 2012 19:01:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Masking Credit Cards for PCI</title>
		<link>http://adamcaudill.com/2011/10/20/masking-credit-cards-for-pci/</link>
		<comments>http://adamcaudill.com/2011/10/20/masking-credit-cards-for-pci/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 20:14:40 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Code Samples]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/?p=1004</guid>
		<description><![CDATA[<p>PCI DSS, the security standard for companies that handle credit cards, defines a number of <a href="https://www.pcisecuritystandards.org/pdfs/pci_audit_procedures_v1-1.pdf">rules</a> as to how credit cards are handled. One of those rules, 3.3, is defined as follows:</p> <p style="padding-left: 30px;">Mask PAN when displayed (the first six and last four digits are the maximum number of digits to be displayed)</p> [...]]]></description>
			<content:encoded><![CDATA[<p>PCI DSS, the security standard for companies that handle credit cards, defines a number of <a href="https://www.pcisecuritystandards.org/pdfs/pci_audit_procedures_v1-1.pdf">rules</a> as to how credit cards are handled. One of those rules, 3.3, is defined as follows:</p>
<p style="padding-left: 30px;"><em>Mask PAN when displayed (the first six and last four digits are the maximum number of digits to be displayed)</em></p>
<p>So based on this requirement I assumed that the code to do this would be common and widely available; much to my surprise there are rather few samples that do this, and of those I found they only showed the last four (which when you are handling a lot of credit cards, searching for an account by the last four isn&#8217;t all that helpful) and were often rather fragile.</p>
<p>So I whipped this up, hopefully it&#8217;ll be useful to others.</p>
<div id="gist-1674453" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="k">public</span> <span class="k">static</span> <span class="kt">string</span> <span class="nf">MaskCreditCard</span><span class="p">(</span><span class="kt">string</span> <span class="k">value</span><span class="p">)</span></div><div class='line' id='LC2'><span class="p">{</span></div><div class='line' id='LC3'>&nbsp;&nbsp;<span class="k">const</span> <span class="kt">string</span> <span class="n">PATTERN</span> <span class="p">=</span> <span class="s">@&quot;\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|&quot;</span> <span class="p">+</span></div><div class='line' id='LC4'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="s">@&quot;6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|&quot;</span> <span class="p">+</span></div><div class='line' id='LC5'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="s">@&quot;[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})\b&quot;</span><span class="p">;</span></div><div class='line' id='LC6'>&nbsp;</div><div class='line' id='LC7'>&nbsp;&nbsp;<span class="n">var</span> <span class="n">replace</span> <span class="p">=</span> <span class="n">Regex</span><span class="p">.</span><span class="n">Replace</span><span class="p">(</span><span class="k">value</span><span class="p">,</span> <span class="n">PATTERN</span><span class="p">,</span> <span class="k">new</span> <span class="n">MatchEvaluator</span><span class="p">(</span><span class="n">match</span> <span class="p">=&gt;</span></div><div class='line' id='LC8'>&nbsp;&nbsp;<span class="p">{</span></div><div class='line' id='LC9'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">var</span> <span class="n">num</span> <span class="p">=</span> <span class="n">match</span><span class="p">.</span><span class="n">ToString</span><span class="p">();</span></div><div class='line' id='LC10'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="n">num</span><span class="p">.</span><span class="n">Substring</span><span class="p">(</span><span class="m">0</span><span class="p">,</span> <span class="m">6</span><span class="p">)</span> <span class="p">+</span> <span class="k">new</span> <span class="kt">string</span><span class="p">(</span><span class="sc">&#39;*&#39;</span><span class="p">,</span> <span class="n">num</span><span class="p">.</span><span class="n">Length</span> <span class="p">-</span> <span class="m">10</span><span class="p">)</span> <span class="p">+</span></div><div class='line' id='LC11'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">num</span><span class="p">.</span><span class="n">Substring</span><span class="p">(</span><span class="n">num</span><span class="p">.</span><span class="n">Length</span> <span class="p">-</span> <span class="m">4</span><span class="p">);</span></div><div class='line' id='LC12'>&nbsp;&nbsp;<span class="p">}));</span></div><div class='line' id='LC13'>&nbsp;</div><div class='line' id='LC14'>&nbsp;&nbsp;<span class="k">return</span> <span class="n">replace</span><span class="p">;</span></div><div class='line' id='LC15'><span class="p">}</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1674453/570a38b70ef4441988a12fe282a64b81bde8be35/gistfile1.cs" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1674453#file_gistfile1.cs" style="float:right;margin-right:10px;color:#666">gistfile1.cs</a>
            <a href="https://gist.github.com/1674453">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>The regex pattern is from <a href="http://www.regular-expressions.info/creditcard.html">Regular-Expressions.info</a> and should detect most major cards.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2011/10/20/masking-credit-cards-for-pci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pen-Testing Silverlight+RIA with SoapUI</title>
		<link>http://adamcaudill.com/2011/07/06/pen-testing-silverlightria-with-soapui/</link>
		<comments>http://adamcaudill.com/2011/07/06/pen-testing-silverlightria-with-soapui/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 21:39:37 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Pen-test]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SoapUI]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/?p=957</guid>
		<description><![CDATA[<p>I was recently given the task of ensuring that a Silverlight+RIA application that could contain private information was secure for deployment to a public web site. So I started searching for automated pen-testing tools that could work against Microsoft&#8217;s Binary SOAP protocol (msbin1, a.k.a &#8220;application/soap+msbin1&#8220;) and found only disappointment. For various reasons, it&#8217;s significantly more complex to pen-test [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently given the task of ensuring that a Silverlight+RIA application that could contain private information was secure for deployment to a public web site. So I started searching for automated pen-testing tools that could work against Microsoft&#8217;s Binary SOAP protocol (<code>msbin1</code>, a.k.a &#8220;<code>application/soap+msbin1</code>&#8220;) and found only disappointment. For various reasons, it&#8217;s significantly more complex to pen-test a application using <code>msbin1</code> than traditional <code>SOAP</code> + <code>WSDL</code>.</p>
<p>To properly test the services, I had to make a compromise: temporarily modify the application to expose a <code>SOAP</code> endpoint. While this changes the state of the application and thus reduces the validity of the tests, it does provide a reasonable way of testing the web services to ensure that they are behaving as intended.</p>
<p>The recently released <a href="http://www.soapui.org/About-SoapUI/go-pro.html">SoapUI Pro 4</a> adds new <a href="http://www.soapui.org/Security/getting-started.html">security testing tools</a> that makes this a viable (and attractive option). To get this working, there are a few small changes that need to be made to the solution:</p>
<p>First, you&#8217;ll need to add a reference to &#8220;<code>Microsoft.ServiceModel.DomainServices.Hosting.EndPoints</code>&#8221; which is part of the RIA Services Toolkit; this allows you to expose different End Points for the service such as <code>SOAP</code> and <code>OData</code>.</p>
<p>Next, you&#8217;ll want to add the following <code>configSections</code> entry to your <code>Web.config</code>:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;configuration&gt;
 &lt;configSections&gt;
   &lt;sectionGroup name=&quot;system.serviceModel&quot;&gt;
     &lt;section name=&quot;domainServices&quot;
      type=&quot;System.ServiceModel.DomainServices.Hosting.DomainServicesSection,
      System.ServiceModel.DomainServices.Hosting,
      Version=4.0.0.0,
      Culture=neutral,
      PublicKeyToken=31bf3856ad364e35&quot; /&gt;
   &lt;/sectionGroup&gt;
 &lt;/configSections&gt;
 ...
</pre>
<p>Finally, to expose the <code>SOAP</code> end point:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;configuration&gt;
 ...
 &lt;system.serviceModel&gt;
  ...
  &lt;domainServices&gt;
   &lt;endpoints&gt;
    &lt;add name=&quot;Soap&quot;
     type=&quot;Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory,
     Microsoft.ServiceModel.DomainServices.Hosting,
     Version=4.0.0.0,
     Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; /&gt;
   &lt;/endpoints&gt;
  &lt;/domainServices&gt;
  ...
</pre>
<p>Finally, just follow the <a href="http://www.soapui.org/Security/security-scans-overview.html">instructions</a> for SoapUI to setup your tests, and you can feel (just a little) more confident in your application. Passing with flying colors obviously doesn&#8217;t mean your application is bulletproof, but it helps to confirm that web service code is solid.</p>
<p>Now, while this does provide some insight into your application and should help find common issues, it&#8217;s not a replacement for a professional assessment by a qualified auditor. If you are handling credit cards or other highly targeted information, <em>please</em> consult a security specialist before a public deployment.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2011/07/06/pen-testing-silverlightria-with-soapui/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy 20th birthday Visual Basic!</title>
		<link>http://adamcaudill.com/2011/05/21/happy-20th-birthday-visual-basic/</link>
		<comments>http://adamcaudill.com/2011/05/21/happy-20th-birthday-visual-basic/#comments</comments>
		<pubDate>Sat, 21 May 2011 05:50:19 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/?p=826</guid>
		<description><![CDATA[<p>Today I saw a post on Facebook by a friend of mine, <a href="http://inotifythoughtschanging.net/blog/">Anthony Green</a>, about writing his first blog post as a Microsoft employee (he has a personal blog as well, unfortunately he&#8217;s not written anything since 2008) &#8211; when I saw the title, I couldn&#8217;t believe it was 20 years already &#8211; seems just yesterday [...]]]></description>
			<content:encoded><![CDATA[<p>Today I saw a post on Facebook by a friend of mine, <a href="http://inotifythoughtschanging.net/blog/">Anthony Green</a>, about writing his first blog post as a Microsoft employee (he has a personal blog as well, unfortunately he&#8217;s not written anything since 2008) &#8211; when I saw the title, I couldn&#8217;t believe it was 20 years already &#8211; seems just yesterday that I wrote about its <a href="http://adamcaudill.com/2006/05/27/happy-belated-birthday-vb/">15th birthday</a>:</p>
<p><a href="http://blogs.msdn.com/b/vbteam/archive/2011/05/20/happy-20th-birthday-visual-basic.aspx">Happy 20th Birthday Visual Basic!</a></p>
<p>My, what a journey it&#8217;s been. Almost fifteen years ago I randomly bought a copy of &#8220;Visual Basic 5: Deluxe Learning Edition&#8221; &#8211; I was just 15 at the time and wanted a new hobby, and writing software seemed like it would be fun. In those early days, I had no idea what career I would choose, and really didn&#8217;t intend for software development to become the dominant force in my life &#8211; I just wanted a better, more productive way to spend my time during the summer.</p>
<p>In the years that have went by, I became passionate about the field, and all it encompasses (possible obsessed, if you believe my wife) &#8211; it&#8217;s been the driving force in my life. Today, I manage a team of 6 developers, and have a fun start-up with some friends (that someday won&#8217;t cost me money every month) &#8211; and all because I bought that book. Overall, I have a lot to thank VB for, it really did get me started in this field.</p>
<p>Today though, my language of choice has moved on to newer options &#8211; I prefer bleeding technologies when I can use them &#8211; but VB will always have a place in my heart, and I&#8217;ll always follow its progress as it continues to transform and adapt to an ever-changing world. As the most popular .NET language (contrary to what many of the C# developers think), it plays a vital role in the development of the framework and the ecosystem.</p>
<p>In the conversations I&#8217;ve had with Anthony about the future of the language, I greatly look forward to writing about its 25th birthday; I expect those will be exciting times for the language and the entire .NET ecosystem.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2011/05/21/happy-20th-birthday-visual-basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure Password Storage</title>
		<link>http://adamcaudill.com/2010/02/01/secure-password-storage/</link>
		<comments>http://adamcaudill.com/2010/02/01/secure-password-storage/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 07:08:35 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/?p=556</guid>
		<description><![CDATA[<p>Do you use MD5 or SHA1 to store passwords? Think they are secure? Think again.</p> <p>While generic hashing algorithms are certainly better than storing passwords in <a title="TechCrunch: One Of The 32 Million With A RockYou Account? You May Want To Change All Your Passwords. Like Now." href="http://www.techcrunch.com/2009/12/14/rockyou-hacked/">plain text</a>, it&#8217;s still not as secure as it should [...]]]></description>
			<content:encoded><![CDATA[<p>Do you use MD5 or SHA1 to store passwords? Think they are secure? Think again.</p>
<p>While generic hashing algorithms are certainly better than storing passwords in <a title="TechCrunch: One Of The 32 Million With A RockYou Account? You May Want To Change All Your Passwords. Like Now." href="http://www.techcrunch.com/2009/12/14/rockyou-hacked/">plain text</a>, it&#8217;s still not as secure as it should be. Users place great trust in us to ensure that their credentials will be secure and treated with the utmost respect; it&#8217;s our responsibility to live up to these expectations.</p>
<p>With the simplicity and speed of these general purpose algorithms, it&#8217;s possible to generate hashes looking for <a href="http://en.wikipedia.org/wiki/Collision_(computer_science)">collisions</a> (or even the original value) extremely quickly. It&#8217;s this speed that introduces the fatal flaw; with a database dump containing MD5 hashed passwords, with a fairly small investment most could be recovered within a very small amount of time (mere days for a large database).</p>
<p>Many people are moving to bcrypt as a solution. In Coda Hale&#8217;s &#8220;<a href="http://codahale.com/how-to-safely-store-a-password/">How To Safely Store A Password</a>&#8221; he covers this topic in more detail, complete with useful stats and links to implementations in languages from <a title="C# bcrypt" href="http://derekslager.com/blog/posts/2007/10/bcrypt-dotnet-strong-password-hashing-for-dotnet-and-mono.ashx">C#</a> to <a title="Ruby bcrypt" href="http://github.com/codahale/bcrypt-ruby">Ruby</a> (even <a title="Erlang bcrypt" href="http://github.com/skarab/erlang-bcrypt">Erlang</a> is represented).</p>
<p>If you are looking for ways to better protect your user&#8217;s data, take a closer look at your password storage.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2010/02/01/secure-password-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 3 Tools Available</title>
		<link>http://adamcaudill.com/2009/07/09/silverlight-3-tools-available/</link>
		<comments>http://adamcaudill.com/2009/07/09/silverlight-3-tools-available/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 18:13:57 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/?p=449</guid>
		<description><![CDATA[<p>It looks like the core Silverlight 3 tools are now available:</p> <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609">Microsoft Expression Blend 3 + SketchFlow RC</a> <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=2050e580-f1d5-4040-bb09-e6185591b6b5">Microsoft® Silverlight™ 3 SDK</a> <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=9442b0f2-7465-417a-88f3-5e7b5409e9dd">Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1</a> <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf">Deep Zoom Composer</a> <p>Though the tools needed for development seem to be public, I&#8217;ve yet to see the end-user run-time; [...]]]></description>
			<content:encoded><![CDATA[<p>It looks like the core Silverlight 3 tools are now available:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609">Microsoft Expression Blend 3 + SketchFlow RC</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=2050e580-f1d5-4040-bb09-e6185591b6b5">Microsoft® Silverlight™ 3 SDK</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=9442b0f2-7465-417a-88f3-5e7b5409e9dd">Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf">Deep Zoom Composer</a></li>
</ul>
<p>Though the tools needed for development seem to be public, I&#8217;ve yet to see the end-user run-time; though I imagine we&#8217;ll see that in the release anticipated for tomorrow.</p>
<p>Time to have some fun. <img src='http://adamcaudill.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Update</em>: Client run-time is now <a href="http://www.microsoft.com/silverlight/resources/install.aspx">available</a>.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal; font-size: 16px; "></p>
<h1 style="font-size: 1.3em; font-weight: normal; margin-bottom: 5px; ">Microsoft Expression Blend 3 + SketchFlow RC</h1>
<p></span></div>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2009/07/09/silverlight-3-tools-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Reflector v5 Released</title>
		<link>http://adamcaudill.com/2007/02/20/net-reflector-v5-released/</link>
		<comments>http://adamcaudill.com/2007/02/20/net-reflector-v5-released/#comments</comments>
		<pubDate>Wed, 21 Feb 2007 00:25:58 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/2007/02/20/net-reflector-v5-released/</guid>
		<description><![CDATA[<p>The great <a href="http://www.aisto.com/roeder/">Lutz Roeder</a> has released a new version of the <a href="http://www.aisto.com/roeder/dotnet/">.NET Reflector</a>. From what I&#8217;ve seen; this version is extremely nice. This has long been a required tool of any serious developer. With this update Reflector has reinforced its position in the list of tools you just can&#8217;t live without.</p> <p>Scott Hanselman [...]]]></description>
			<content:encoded><![CDATA[<p>The great <a href="http://www.aisto.com/roeder/">Lutz Roeder</a> has released a new version of the <a href="http://www.aisto.com/roeder/dotnet/">.NET Reflector</a>. From what I&#8217;ve seen; this version is extremely nice. This has long been a required tool of any serious developer. With this update Reflector has reinforced its position in the list of tools you just can&#8217;t live without.</p>
<p>Scott Hanselman provides a <a href="http://www.hanselman.com/blog/Reflector5ReleasedWorldDominationAssured.aspx">great review</a>; check it out for the details on what&#8217;s new.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2007/02/20/net-reflector-v5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET AJAX</title>
		<link>http://adamcaudill.com/2007/01/25/aspnet-ajax/</link>
		<comments>http://adamcaudill.com/2007/01/25/aspnet-ajax/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 02:33:48 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/2007/01/25/aspnet-ajax/</guid>
		<description><![CDATA[<p>For those that have been looking forward to seeing the final result of Microsoft&#8217;s attempt at <a href="http://en.wikipedia.org/wiki/AJAX">AJAX</a>, your wait is over. <a href="http://ajax.asp.net/default.aspx">ASP.NET AJAX</a> 1.0 has been <a href="http://ajax.asp.net/downloads/default.aspx?tabid=47">released</a>.</p> <p>I&#8217;ve not had time to test this yet, but it sure looks like it has promise. I&#8217;ll be playing with this one soon, I&#8217;ve got [...]]]></description>
			<content:encoded><![CDATA[<p>For those that have been looking forward to seeing the final result of Microsoft&#8217;s attempt at <a href="http://en.wikipedia.org/wiki/AJAX">AJAX</a>, your wait is over. <a href="http://ajax.asp.net/default.aspx">ASP.NET AJAX</a> 1.0 has been <a href="http://ajax.asp.net/downloads/default.aspx?tabid=47">released</a>.</p>
<p>I&#8217;ve not had time to test this yet, but it sure looks like it has promise. I&#8217;ll be playing with this one soon, I&#8217;ve got a couple new projects this might be perfect for.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2007/01/25/aspnet-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xceed DataGrid for WPF Released &#8211; Free</title>
		<link>http://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/</link>
		<comments>http://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 02:25:37 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Xceed]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/</guid>
		<description><![CDATA[<p><a href="http://xceed.com/">Xceed</a> has released version 1.0 of their new <a href="http://xceed.com/Grid_WPF_Intro.html">WPF based DataGrid</a>, and best of all, made it free! If you&#8217;ve missed the news, you might want to check this out.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://xceed.com/">Xceed</a> has released version 1.0 of their new <a href="http://xceed.com/Grid_WPF_Intro.html">WPF based DataGrid</a>, and best of all, made it free! If you&#8217;ve missed the news, you might want to check this out.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio PowerToy Pack Installer</title>
		<link>http://adamcaudill.com/2007/01/20/visual-studio-powertoy-pack-installer/</link>
		<comments>http://adamcaudill.com/2007/01/20/visual-studio-powertoy-pack-installer/#comments</comments>
		<pubDate>Sun, 21 Jan 2007 01:21:02 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Power Toys]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/2007/01/20/visual-studio-powertoy-pack-installer/</guid>
		<description><![CDATA[<p>An update to the <a href="http://www.codeplex.com/PackInstaller">Visual Studio PowerToy Pack Installer</a> has just been <a href="http://blogs.msdn.com/jeremykelley/archive/2007/01/18/pack-installer-beta-2-released-and-feed-update-for-1-18-2007.aspx">announced</a>. This handy application wraps up many of the <a href="http://msdn2.microsoft.com/en-us/vstudio/aa718340.aspx">PowerToys</a> so that they can be installed from one easy to use UI. With so many of these Power Toys available, this installer is great to have; otherwise finding and installing [...]]]></description>
			<content:encoded><![CDATA[<p>An update to the <a href="http://www.codeplex.com/PackInstaller">Visual Studio PowerToy Pack Installer</a> has just been <a href="http://blogs.msdn.com/jeremykelley/archive/2007/01/18/pack-installer-beta-2-released-and-feed-update-for-1-18-2007.aspx">announced</a>. This handy application wraps up many of the <a href="http://msdn2.microsoft.com/en-us/vstudio/aa718340.aspx">PowerToys</a> so that they can be installed from one easy to use UI. With so many of these Power Toys available, this installer is great to have; otherwise finding and installing them can be a slow and painful experience.</p>
<p>If you&#8217;re a power user, or fancy yourself a power tweaker, this one might just be for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2007/01/20/visual-studio-powertoy-pack-installer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crash Course in WPF</title>
		<link>http://adamcaudill.com/2007/01/12/crash-course-in-wpf/</link>
		<comments>http://adamcaudill.com/2007/01/12/crash-course-in-wpf/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 04:28:19 +0000</pubDate>
		<dc:creator>Adam Caudill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://adamcaudill.com/2007/01/12/crash-course-in-wpf/</guid>
		<description><![CDATA[<p>Looking to get a good start in the <a href="http://wpf.netfx3.com/">latest Microsoft technology</a>? <a href="http://devlicio.us/blogs/rob_eisenberg/default.aspx">Rob Eisenberg</a> has written what appears to be a rather interesting, and quite useful, <a href="http://devlicio.us/blogs/rob_eisenberg/archive/category/1035.aspx">crash course in WPF</a>. If you&#8217;re looking for a quick way to get up to speed, this looks like a good place to start.</p>]]></description>
			<content:encoded><![CDATA[<p>Looking to get a good start in the <a href="http://wpf.netfx3.com/">latest Microsoft technology</a>? <a href="http://devlicio.us/blogs/rob_eisenberg/default.aspx">Rob Eisenberg</a> has written what appears to be a rather interesting, and quite useful, <a href="http://devlicio.us/blogs/rob_eisenberg/archive/category/1035.aspx">crash course in WPF</a>. If you&#8217;re looking for a quick way to get up to speed, this looks like a good place to start.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamcaudill.com/2007/01/12/crash-course-in-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

