<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Kelly Brownsberger's Blog</title>
        <link>http://blog.kellybrownsberger.com/Default.aspx</link>
        <description />
        <language>en-US</language>
        <copyright>kellyb</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <image>
            <title>Kelly Brownsberger's Blog</title>
            <url>http://blog.kellybrownsberger.com/images/RSS2Image.gif</url>
            <link>http://blog.kellybrownsberger.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Returning my HTC Titan for a Samsung Focus S</title>
            <category>windows phone</category>
            <link>http://blog.kellybrownsberger.com/archive/2012/01/09/returning-my-htc-titan-for-a-samsung-focus-s.aspx</link>
            <description>&lt;p&gt;I love my HTC Titan, but sadly… yet another smartphone that’s can’t make phone calls.  Well, this one is hit or miss, but it’s enough of an issue where my wife is demand that I replace it.  There are wide spread reports of defective microphones on the Titan:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forums.att.com/t5/HTC/HTC-Titan-Microphone-Problem/m-p/2999807#M136496" target="_blank"&gt;AT&amp;amp;T Wireless Forums: HTC Titan – Microphone Problem?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forums.wpcentral.com/titan/184445.htm" target="_blank"&gt;WPCentral.com Forums: HTC &amp;gt; Titan &amp;gt; Call Voice quality issues&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://community.htc.com/na/htc-forums/windows-phone/f/174/t/14950.aspx" target="_blank"&gt;HTC Forums: Terrible Call Quality&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To be clear, Windows Phone is AMAZING.  After two iPhones and three Android devices, I can say with confidence Windows Phone is the best mobile OS I’ve ever used.  And it’s getting raving press:  &lt;a href="http://www.nytimes.com/2012/01/08/technology/microsoft-defying-image-has-a-design-gem-in-windows-phone.html?_r=2&amp;amp;pagewanted=1" target="_blank"&gt;The Critics Rave ... for Microsoft?&lt;/a&gt;I love it, I just have issues with this device.  Other than this mic problem, I would say this is the best device I’ve had as well.  I wish I didn’t have to return it, but this is a deal breaker.&lt;/p&gt;  &lt;p&gt;I’ve decided I’m going to take a break from my HTC loyal for a while.  This is my 5th HTC device in the last 9 years… and the last two have had significant manufacturing issues.  I’m going with the Samsung Focus S.  I’m on the phone ordering it from AT&amp;amp;T as I type.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://st2.gsmarena.com/vv/pics/samsung/samsung-focus-1.jpg" width="560" height="565" /&gt;&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/113.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2012/01/09/returning-my-htc-titan-for-a-samsung-focus-s.aspx</guid>
            <pubDate>Mon, 09 Jan 2012 15:27:03 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2012/01/09/returning-my-htc-titan-for-a-samsung-focus-s.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/113.aspx</wfw:commentRss>
        </item>
        <item>
            <title>XCOPY Reminder</title>
            <category>cheatsheet</category>
            <link>http://blog.kellybrownsberger.com/archive/2012/01/04/xcopy-reminder.aspx</link>
            <description>&lt;p&gt;I can never remember the exact args for XCOPY and I use this in VS POST-BUILD events more than you would think.  Here’s my reminder so I never have to Google for this or read the XCOPY usage again.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;    &amp;lt;PostBuildEvent&amp;gt;XCOPY &lt;span class="str"&gt;"$(ProjectDir)\Foo\Bar.config"&lt;/span&gt; &lt;span class="str"&gt;"$(ProjectDir)..\..\Bin\$(ConfigurationName)"&lt;/span&gt; /Y&amp;lt;/PostBuildEvent&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/112.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2012/01/04/xcopy-reminder.aspx</guid>
            <pubDate>Wed, 04 Jan 2012 12:59:14 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2012/01/04/xcopy-reminder.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/112.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Hello 2012</title>
            <category>new years</category>
            <link>http://blog.kellybrownsberger.com/archive/2012/01/02/hello-2012.aspx</link>
            <description>&lt;p&gt;Forgive me, but this is my cheesy new year post.&lt;/p&gt;  &lt;p&gt;I’m jazzed up about a number of cool things ahead.  Below is a few of the one I’m most pumped about.&lt;/p&gt;  &lt;h2&gt;Hello Baby Girl #2&lt;/h2&gt;  &lt;p&gt;My wife and I had our second girl on December 4th, 2011.  Having two in diapers is a challenge, but she’s an angel and I can’t imagine life before her.  Watching our first daughter go from zero to one year old was fascinating.  I’m looking forward to doing that again with another special little gal.&lt;/p&gt;  &lt;h2&gt;Return to Chicago (kinda)&lt;/h2&gt;  &lt;p&gt;A reorganization by my employer and end of year promotion will mean I’ll be traveling to Chicago mostly in 2012 instead of Omaha.  I’ll still be working primarily from home in Michigan, but I should be able to regularly return to the great city of Chicago and spend time with some great friends and coworkers in our Chicago office.&lt;/p&gt;  &lt;p&gt;No diss to Omaha, but it’s just too hard for me to get there and Chicago will always be home to me.  Thanks for a fun 2011.&lt;/p&gt;  &lt;h2&gt;Fresh Material&lt;/h2&gt;  &lt;p&gt;This year appears to have many new technical challenges ahead.  With my new role I’ll be in a position to evangelize to a wider and more interested audience.  I’m hoping to share a lot of the lessons I’ve learned in 2010 and 2011 in terms of architecture and design to help teams delivery more with less.  I’ll be preaching a lot of NHibernate and test automation.&lt;/p&gt;  &lt;p&gt;2012 looks like it will be saturated with JavaScript development.  I spent 2010 neck deep in Silverlight, and 2012 looks like it will be a return to the traditional web.  I’ve been reading &lt;a href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1325532446&amp;amp;sr=1-1" target="_blank"&gt;JavaScript The Good Parts&lt;/a&gt;, &lt;a href="http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752/ref=sr_1_1?ie=UTF8&amp;amp;qid=1325532425&amp;amp;sr=8-1" target="_blank"&gt;JavaScript Patterns&lt;/a&gt;, and &lt;a href="http://www.amazon.com/REST-Practice-Hypermedia-Systems-Architecture/dp/0596805829/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1325532467&amp;amp;sr=1-1" target="_blank"&gt;REST in Practice&lt;/a&gt;.  I’m looking forward to working heavily with &lt;a href="http://jquery.com/" target="_blank"&gt;JQuery&lt;/a&gt;, &lt;a href="http://knockoutjs.com/" target="_blank"&gt;KnockoutJS&lt;/a&gt;, &lt;a href="http://backbonejs.com/" target="_blank"&gt;BackboneJS&lt;/a&gt;, &lt;a href="http://wijmo.com/" target="_blank"&gt;Wijmo&lt;/a&gt;, &lt;a href="http://www.kendoui.com/" target="_blank"&gt;KendoUI&lt;/a&gt;, &lt;a href="http://www.asp.net/mvc" target="_blank"&gt;ASP.NET MVC&lt;/a&gt;, and &lt;a href="http://wcf.codeplex.com/wikipage?title=WCF%20HTTP" target="_blank"&gt;Web API&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Interesting Year for the Mothership&lt;/h2&gt;  &lt;p&gt;I think 2012 is going to be a interesting and pivotal year for Microsoft.&lt;/p&gt;  &lt;h3&gt;Windows Phone&lt;/h3&gt;  &lt;p&gt;I received the HTC Titan for Christmas and LOVE it.  I was skeptical, but am no more.  This is a phenomenal OS and I think the rest of the world is going to realize it in 2012.  I think it’s well positioned to have a big year.  It will be interesting to see how that plays out, but I think a Jobs’less Apple and Android in version hell as well as the Android Developer Community fed up with building apps they can’t charge money for will make room for strong growth by WP7.  The Windows Phone Marketplace is growing steadily, and if Microsoft knows how to do something well it’s make a comfy developer ecosystem.&lt;/p&gt;  &lt;p&gt;BTW, If you happen to be one of those turd throwing I-hate-everything-Microsoft monkeys and feel like leaving some bile on my comments… I’d rather you not.  If you haven’t used a WP device for at least an entire day as your primary phone, I’m probably not interested in your opinions.&lt;/p&gt;  &lt;h3&gt;Windows 8&lt;/h3&gt;  &lt;p&gt;Windows 7 was great.  I think they finally get it in terms of what users want from the OS.  I expect Windows 8 will be very successful and will firmly establish MetroUI.  Having it on tablet form factors should come in 2012.&lt;/p&gt;  &lt;h3&gt;HTML5/JavaScript Tooling vNext&lt;/h3&gt;  &lt;p&gt;If you look and what Microsoft has done in support for the HTML5/JavaScript movement in WinRT, it feels like something big is brewing on this front.  They seem to have unofficial ties CoffeeScript and Script#.  I’m hoping to see a Google Web Toolkit (GWT) like offering from Microsoft this year.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h2&gt;Learn, Learn, Learn&lt;/h2&gt;  &lt;p&gt;With two kids in diapers I have less personal time than I’ve ever had in my life, but I have renewed vigor to make this another year of learning.  I intend to be a JavaScript guru by this time new year.  I have an annual subscription of &lt;a href="http://tekpub.com" target="_blank"&gt;TekPub&lt;/a&gt; and I intend to watch at least half of the productions available in their catalog.  At a minimum:  &lt;a href="http://tekpub.com/view/git/1" target="_blank"&gt;GitHub&lt;/a&gt;, &lt;a href="http://tekpub.com/view/hg/1" target="_blank"&gt;Mastering Mercurial&lt;/a&gt;, &lt;a href="http://tekpub.com/view/linux/1" target="_blank"&gt;Linux for Softies&lt;/a&gt;, &lt;a href="http://tekpub.com/view/jquery/1" target="_blank"&gt;Mastering JQuery&lt;/a&gt;, &lt;a href="http://tekpub.com/view/linq/1" target="_blank"&gt;Mastering LINQ&lt;/a&gt;, and &lt;a href="http://tekpub.com/view/wp7/1" target="_blank"&gt;Mastering Windows Phone 7&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/111.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2012/01/02/hello-2012.aspx</guid>
            <pubDate>Mon, 02 Jan 2012 19:35:54 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2012/01/02/hello-2012.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/111.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Strengths Finder 2.0</title>
            <category>personal</category>
            <link>http://blog.kellybrownsberger.com/archive/2011/02/04/strengths-finder-2-0.aspx</link>
            <description>&lt;p&gt;A friend gave me a copy of this book and I took the test…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/Strengths-Finder-2.0_6E26/image.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/Strengths-Finder-2.0_6E26/image_thumb.png" width="202" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Clifton StrengthsFinder&lt;/p&gt;    &lt;p&gt;As you may know, the Clifton StrengthsFinder measures the presence of talent in 34 categories called "themes." These themes were determined by Gallup as those that most consistently predict outstanding performance. The greater the presence of a theme of talent within a person, the more likely that person is to spontaneously exhibit those talents in day-to-day behaviors.Focusing on naturally powerful talents helps people use them as the foundation of strengths and enjoy personal, academic, and career success through consistent, near-perfect performance.&lt;/p&gt;    &lt;p&gt;Below are my top five themes of talent, ranked in the order revealed by my responses to the Clifton StrengthsFinder.&lt;/p&gt;    &lt;p&gt;How well do you think these themes describe me?&lt;/p&gt;    &lt;p&gt;Achiever&lt;/p&gt;    &lt;p&gt;People who are especially talented in the Achiever theme have a great deal of stamina and work hard. They take great satisfaction from being busy and productive.&lt;/p&gt;    &lt;p&gt;Focus&lt;/p&gt;    &lt;p&gt;People who are especially talented in the Focus theme can take a direction, follow through, and make the corrections necessary to stay on track. They prioritize, then act.&lt;/p&gt;    &lt;p&gt;Context&lt;/p&gt;    &lt;p&gt;People who are especially talented in the Context theme enjoy thinking about the past. They understand the present by researching its history.&lt;/p&gt;    &lt;p&gt;Learner&lt;/p&gt;    &lt;p&gt;People who are especially talented in the Learner theme have a great desire to learn and want to continuously improve. In particular, the process of learning, rather than the outcome, excites them.&lt;/p&gt;    &lt;p&gt;Discipline&lt;/p&gt;    &lt;p&gt;People who are especially talented in the Discipline theme enjoy routine and structure. Their world is best described by the order they create.&lt;/p&gt;    &lt;p&gt;To learn more about the Clifton StrengthsFinder and how you can discover your top five themes, visit &lt;a href="http://strengths.gallup.com"&gt;http://strengths.gallup.com&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/110.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2011/02/04/strengths-finder-2-0.aspx</guid>
            <pubDate>Fri, 04 Feb 2011 12:49:25 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2011/02/04/strengths-finder-2-0.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/110.aspx</wfw:commentRss>
        </item>
        <item>
            <title>T4 Debugging in VS2010 &amp;ndash; Crashing IDE</title>
            <link>http://blog.kellybrownsberger.com/archive/2011/01/14/t4-debugging-in-vs2010-ndash-crashing-ide.aspx</link>
            <description>&lt;p&gt;In VS2008, it would common to put a System.Diagnostic.Debugger.Break() statement in your T4 template file and have the debugger prompt pop up and let you attach to your code.  In VS2010 on Windows 7, it crashes the IDE.  I think it’s specific to Windows 7, but I’m not sure about that.  The issue report is here:  &lt;a title="http://connect.microsoft.com/VisualStudio/feedback/details/535479/vs2010-crashes-debugging-t4-templates" href="http://connect.microsoft.com/VisualStudio/feedback/details/535479/vs2010-crashes-debugging-t4-templates"&gt;http://connect.microsoft.com/VisualStudio/feedback/details/535479/vs2010-crashes-debugging-t4-templates&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;From reading the issue, it seems to be a policy difference in Windows 7.  I’ve heard of hack to the registry to change the default, but a cleaner solution is provided in the work-around’s tab.&lt;/p&gt;  &lt;p&gt;Simply call Debugger.Launch() before calling Debugger.Break().  Like so:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&amp;lt;#@ template debug=&lt;span class="str"&gt;"true"&lt;/span&gt; hostspecific=&lt;span class="str"&gt;"true"&lt;/span&gt; language=&lt;span class="str"&gt;"C#"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ output extension=&lt;span class="str"&gt;".cs"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ assembly name=&lt;span class="str"&gt;"System.Xml.dll"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;"System.Xml"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;"System.Text"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;"System.Collections"&lt;/span&gt; #&amp;gt;
&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;"System.Collections.Generic"&lt;/span&gt; #&amp;gt;
&amp;lt;# 
    Model model = &lt;span class="kwrd"&gt;null&lt;/span&gt;;

    &lt;span class="kwrd"&gt;try&lt;/span&gt;
    {
        XmlDocument document = &lt;span class="kwrd"&gt;new&lt;/span&gt; XmlDocument();
        document.Load(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Host.ResolvePath(&lt;span class="str"&gt;"Model.xml"&lt;/span&gt;));

        XmlNode modelNode = document.SelectSingleNode(&lt;span class="str"&gt;"//model"&lt;/span&gt;);

        &lt;span class="kwrd"&gt;if&lt;/span&gt; ( modelNode != &lt;span class="kwrd"&gt;null&lt;/span&gt; )
        {
            model = &lt;span class="kwrd"&gt;new&lt;/span&gt; Model(modelNode);
            
            System.Diagnostics.Debugger.Launch();
            System.Diagnostics.Debugger.Break();
            
            model.Load();
        }
    }
    &lt;span class="kwrd"&gt;catch&lt;/span&gt; ( Exception ex )
    {
        #&amp;gt;
        &lt;span class="rem"&gt;// ******************** UNHANDLED EXCEPTION DURING MODEL GENERATION **********************&lt;/span&gt;
        &lt;span class="rem"&gt;// Message: &amp;lt;#= ex.Message#&amp;gt;&lt;/span&gt;
        &lt;span class="rem"&gt;// Exception Type: &amp;lt;#= ex.GetType().FullName#&amp;gt;&lt;/span&gt;
        &lt;span class="rem"&gt;// ***************************************************************************************&lt;/span&gt;
        &amp;lt;#
    }
#&amp;gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Hopefully this helps someone else out there – this has been killing me for almost a year and I never thought to look for a workaround.&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/109.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2011/01/14/t4-debugging-in-vs2010-ndash-crashing-ide.aspx</guid>
            <pubDate>Fri, 14 Jan 2011 23:20:54 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2011/01/14/t4-debugging-in-vs2010-ndash-crashing-ide.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/109.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Weird Security Error with IIS and Win7</title>
            <category>lessons learned</category>
            <link>http://blog.kellybrownsberger.com/archive/2010/12/10/weird-security-error-with-iis-and-win7.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;I was trying to get a web application we’re building using a commercial CMS system up and running on my localhost today.  I checked the ASP.NET source code out of our source control repository, and configured my local IIS instance to host the site.  The site started up successfully, but I noticed it wasn’t loading any of the CSS files.  After viewing the page source, the URL’s to the CSS files looked correct, but when I attempted to browse them I received the dreaded 401.3:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image_thumb.png" width="1028" height="86" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I poured over the file system security of that local directory – everything had read rights.  Then I noticed some of the directories were green (look closely):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image_3.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image_thumb_3.png" width="221" height="96" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’m running Windows 7, and it turns out these directories were files I unzipped (using Windows unzip utility) from an email attachment.  I noticed they were great, but didn’t give it much thought (if they were red, I probably would have stopped and figured it out then).  It turns out that this is another (odd) Windows security feature.  The directory was set to “Encrypt contents to secure data”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image_4.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/5f392fc5f358_D1FA/image_thumb_4.png" width="244" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is what was causing the 401.3 exception from IIS.  Clearing this put me back in business.&lt;/p&gt;  &lt;p&gt;Hopefully this helps someone else out there.&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/108.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2010/12/10/weird-security-error-with-iis-and-win7.aspx</guid>
            <pubDate>Sat, 11 Dec 2010 00:21:22 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2010/12/10/weird-security-error-with-iis-and-win7.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/108.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Email Hacking Theory</title>
            <link>http://blog.kellybrownsberger.com/archive/2010/12/08/email-hacking-theory.aspx</link>
            <description>&lt;p&gt;I’m not a security expert.  I’m not a hacker.  I’m just a guy that spends a crazy amount of time online .  Maybe the story I’m about to tell is a well known thing… maybe it’s not.  All I know is I’m convinced it happened to me last year, and I see it frequently happening to people I know.  This is good general advice for everyone.  So I’m going to lay it out here for everyone I know to read.  If you were sent a link to this post by me, then you’re one of the people I’m worried about… so please read on.&lt;/p&gt;  &lt;p&gt;How many web site accounts do you possess (i.e. facebook.com, myspace.com, ebay.com, google.com, yahoo.com, etc. etc.)?  Most sites ask for two main things:  your email address and a password.  Once registered, you use that information to gain access to that site’s online service.  How many times have you registered for a site that you don’t quite trust or recognize?  How often do you register with a password that matches that of your email address?  If you’re like most people, the answer to that last question is “frequently”.&lt;/p&gt;  &lt;p&gt;Think about it….  What if some malicious person out there had access to your personal email address.  By that I mean, he/she could physically log in to your account and read and send email as you.  How easily could that person access something else (like an online back account) from there?  Oh… and, does that online bank account use that same password????&lt;/p&gt;  &lt;p&gt;If that information you provided was ever compromised (intentionally or unintentional), you’re in big trouble.  Hackers know tech un-savvy and even tech savvy people hate to remember multiple passwords.  They also know that most people use the same password for every account they own.  So, if they can find a way to get your to provide them with your email address, and that precious password, then the odds are good that they have all they need to access your email account as you.&lt;/p&gt;  &lt;p&gt;Don’t ever… EVER… reuse the password for your email account.  Pick a password for your email address, and never use that password for any other online service.  Make it a habit to change that password at least once a year.  If you have any reason to believe someone or something is accessing your email account (for instance, do you see Sent Items in your email account that you don’t remember sending), change your password immediately.&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/107.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2010/12/08/email-hacking-theory.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 03:12:06 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2010/12/08/email-hacking-theory.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/107.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Thoughts on HTML5, Silverlight, and the future of the web</title>
            <category>silverlight</category>
            <link>http://blog.kellybrownsberger.com/archive/2010/12/08/thoughts-on-html5-silverlight-and-the-future-of-the-web.aspx</link>
            <description>&lt;p&gt;Over the last several months, there’s been a lot of rumblings in the community about HTML5 and the future of browser plugin technologies like Silverlight and Flash.  I follow Silverlight pretty closely, so I hear most of this talk in terms of the future of Silverlight.  As the HTML5 spec has been maturing and browser vendor implementations arrive, you’ve heard a lot of people start to sing it’s praises.  There is no doubt that HTML5 is going to be huge.  What we’ve been able to accomplish with HTML + CSS + JavaScript in the last 10 years is jaw dropping and HTML5 is going to take it to the next level.  That I believe 100%, but to say that HTML5 is going to kill Silverlight is silly.&lt;/p&gt;  &lt;p&gt;For whatever reason, Microsoft unintentionally fueled this silliness by not giving Silverlight any pub at PDC this year.  Apparently there was a lot of talk about HTML5 – because Microsoft is trying to pimp IE9 (as they should be), but they forgot to mention Silverlight explicitly.  Mary Joe Foley wrote a nice article last week called &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834" target="_blank"&gt;Microsoft: Our strategy with Silverlight has shifted&lt;/a&gt;.  In that article he quotes Bob Muglia, President of the Server and Tools Division at Microsoft, as saying:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you read the whole article, it all make sense, but that line out of context is a bit misleading.  I don’t particularly like the way Muglia phrased that because the entire meaning of the statement hinges on what he means by “cross-platform runtime”.  If you have a solid understanding of what Silverlight is, that statement makes perfect sense and doesn’t at all make you think Silverlight is dead or dying.  If you don’t understand what Silverlight is, you probably think the opposite.  Nonetheless, Bob attempted to clarify with a &lt;a href="http://team.silverlight.net/announcement/pdc-and-silverlight/" target="_blank"&gt;post on the Silverlight Team blog&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Speculation on where the silliness is coming from…&lt;/h2&gt;  &lt;p&gt;I’m forced to believe there are still a huge number of people out there that simply don’t know what Silverlight &lt;em&gt;is&lt;/em&gt;.  Probably because Microsoft (purposefully) focused on media – specifically video streaming - in the early releases of Silverlight, and largely ignored Silverlight has an application platform, I believe many people still see it simply as a video player technology that runs in the browser.  Once you see the video and animation capabilities within HTML5, you can see where people jump to conclusions about the viability of Silverlight in an HTML5 world.&lt;/p&gt;  &lt;h2&gt;So, what is Silverlight?&lt;/h2&gt;  &lt;p align="left"&gt;The reality is, the last two releases of Silverlight (half of it’s life time) has been far more than a browser based video player.  Silverlight has two forms:  in-browser and out-of-browser.  Silverlight In-browser is like &lt;a href="http://en.wikipedia.org/wiki/Adobe_Flash" target="_blank"&gt;Adobe Flash&lt;/a&gt; – users install a special plugin from Microsoft that hosts the tiny Silverlight runtime natively within the browser.  When a user visits a web page that contains HTML signaling the browser to run some Silverlight code, the browser simply does this silently and seamlessly, and Silverlight is running within the page right along side HTML, CSS, and JavaScript.  The other form is out-of-browser – this is like Adobe AIR (&lt;a href="http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime" target="_blank"&gt;Adobe Integrated Runtime&lt;/a&gt;) where the tiny Silverlight runtime in installed directly on the host operating system and can run natively on the local OS – no browser as a conduit.  Starting with version 2, the Silverlight runtime included the &lt;a href="http://en.wikipedia.org/wiki/Common_Language_Runtime" target="_blank"&gt;.NET Common Language Runtime&lt;/a&gt; (CLR) and a subset of the &lt;a href="http://en.wikipedia.org/wiki/Base_Class_Library" target="_blank"&gt;.NET Base Class Library (BCL)&lt;/a&gt;.  That means Silverlight is a mini .NET running in these two forms.  That means it’s the same programming model, the same infrastructure libraries, the same programming language(s), the same IDE, the same debugger, etc. etc. etc.  There are parts of .NET that were intentionally left out because they simply were not applicable to the Silverlight environment or were cut to keep the download size small, but for all practical purposes Silverlight &lt;em&gt;is&lt;/em&gt; .NET.  This is HUGE.  &lt;/p&gt;  &lt;p align="left"&gt;When I first started working with Silverlight, I had several years of HTML/CSS/Javascript/ASP/ASP.NET under my belt as well as several years of .NET middleware development.  At that time, I didn’t get how huge this Silverlight programming model thing was.  I had heard all the marketing speeches inline with what I said in the previous paragraph, but I didn’t get it.  Modern web programming with HTML, CSS, Javascript+JQuery just didn’t seem that tough.  After a year and a half of Silverlight development, I can tell you with certainty this is HUGE.  Until you’ve experienced the development experience of Silverlight – the familiar tools, the smoothness in the programming model across client and server, the frictionless debugging, etc. you simply cannot argue that developers have the same productivity in HTML, CSS, and Javascript – not to mention there are just things you can’t do in Javascript.  There will always be a need for the technologies like Silverlight and Flash for doing things that you just can’t do with Javascript.  Google and products like Gmail have broken down the mental barriers surrounding what people consider possible with Javascript, but it’s still limited and it’s just unrealistic to expect the average developer to build complex JavaScript layers in their applications. &lt;/p&gt;  &lt;h2&gt;Fuel to the silliness fire…&lt;/h2&gt;  &lt;p&gt;Microsoft did a lot of things right with Silverlight.  They have a good cross-platform story.  Unlike Microsoft to yesteryear, they didn’t just implement this on Internet Explorer.  They built this to be cross browser friendly and therefore &lt;em&gt;cross-platform&lt;/em&gt;.  They did it in a very transparent, community-oriented fashion where they did sub yearly releases and honestly listened and reacted to community feedback.  This approach catapulted Silverlight adoption and browser vendors got on broad.  So, Silverlight is cross-platform friendly, but this is where Mary Joe’s report breaks down for me.  She quotes Bob Muglia as saying:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I don’t disagree, because Silverlight never was their cross platform strategy, and he’s correct when he goes on to say:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Microsoft is smartly getting on the HTML5 bandwagon because it’s going to be huge.  The only true cross platform solution are HTML based web applications running on browsers that run wherever they want to run.  That model isn’t changing, but that doesn’t mean Silverlight or Flash are dead either.  Just because Silverlight is cross-platform, that doesn’t mean it’s Microsoft’s cross-platform strategy.&lt;/p&gt;  &lt;p&gt;Plugin technologies like Silverlight and Flash will never replace HTML5 and HTML5 will never replace the need for Silverlight or Flash.  The least common denominator (HTML, CSS, Javascript) will never been good enough for all scenarios.&lt;/p&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;Silverlight is a phenomenal technology.  It’s going to continue to thrive… and so will HTML5.  Here’s some other good reading on this subject:&lt;/p&gt;  &lt;p&gt;Jeremy Likness:  &lt;a href="http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html"&gt;So What's the Fuss about Silverlight?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Laurent Bugnion:  &lt;a href="http://blog.galasoft.ch/archive/2010/10/30/my-position-on-the-silverlight-debate.aspx"&gt;My position on the #Silverlight debate&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/106.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2010/12/08/thoughts-on-html5-silverlight-and-the-future-of-the-web.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 02:51:43 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2010/12/08/thoughts-on-html5-silverlight-and-the-future-of-the-web.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/106.aspx</wfw:commentRss>
        </item>
        <item>
            <title>System.IO.Path.Combine() Snafu</title>
            <link>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-combine-snafu.aspx</link>
            <description>&lt;p&gt;I’ve found the &lt;a href="http://msdn.microsoft.com/en-us/library/system.io.path.combine.aspx" target="_blank"&gt;Path.Combine()&lt;/a&gt; function cannot be fully trusted and can cause some sneaky bugs in your systems.&lt;/p&gt;  &lt;p&gt;I’ll use &lt;a href="http://www.sliver.com/dotnet/SnippetCompiler/" target="_blank"&gt;SnippetCompiler&lt;/a&gt; to demo the scenario I’m talking about.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/System.IO.Path.Combine-Snafu_12E14/image.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/System.IO.Path.Combine-Snafu_12E14/image_thumb.png" width="883" height="760" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.kellybrownsberger.com/____Uploads____/System.IO.Path.Combine-Snafu_12E14/image_3.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.kellybrownsberger.com/____Uploads____/System.IO.Path.Combine-Snafu_12E14/image_thumb_3.png" width="681" height="346" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If the right term is prefixed with a slash, the right term is dropped.  I’m sure it behaves this way for some good reason, but I don’t know what it is.  I always write a utility method to wrap and check the strings prior to calling Combine.&lt;/p&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/105.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-combine-snafu.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 02:39:29 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-combine-snafu.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/105.aspx</wfw:commentRss>
        </item>
        <item>
            <title>System.IO.Path Cheatsheet</title>
            <category>cheatsheet</category>
            <link>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-cheatsheet.aspx</link>
            <description>&lt;p&gt;I spent a great deal of time last week wrestling with the .NET System.IO.Path API.  I frequently struggle to remember what some of these methods do.  Here’s a cryptic cheatsheet for future reference.&lt;/p&gt;&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Test()
        {
            &lt;span class="kwrd"&gt;string&lt;/span&gt;[] strings = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] { &lt;span class="str"&gt;@"\", @"&lt;/span&gt;.&lt;span class="str"&gt;", @"&lt;/span&gt;C:\Temp&lt;span class="str"&gt;", @"&lt;/span&gt;C:\Temp\foo\bar.txt&lt;span class="str"&gt;", @"&lt;/span&gt;C:\Temp\foo.txt&lt;span class="str"&gt;", @"&lt;/span&gt;\foo\bar.txt&lt;span class="str"&gt;", @"&lt;/span&gt;\foo\bar\baz.txt&lt;span class="str"&gt;", @"&lt;/span&gt;\foo\bar\&lt;span class="str"&gt;", @"&lt;/span&gt;foo\bar\&lt;span class="str"&gt;", @"&lt;/span&gt;\\\\\\&lt;span class="str"&gt;" };

            DoGetDirectory(strings);
            Console.WriteLine();
            DoIsPathRooted(strings);
            Console.WriteLine();
            DoGetPathRoot(strings);
            Console.WriteLine();
        }

        private static void DoGetDirectory(IEnumerable&amp;lt;string&amp;gt; strings)
        {
            foreach (string s in strings)
            {
                Console.WriteLine(s + "&lt;/span&gt;: GetDirectory(): &lt;span class="str"&gt;" + Path.GetDirectoryName(s));
            }

        }

        private static void DoIsPathRooted(IEnumerable&amp;lt;string&amp;gt; strings)
        {
            foreach (string s in strings)
            {
                Console.WriteLine(s + "&lt;/span&gt;: IsPathRooted(): &lt;span class="str"&gt;" + Path.IsPathRooted(s));
            }
        }

        private static void DoGetPathRoot(IEnumerable&amp;lt;string&amp;gt; strings)
        {
            foreach (string s in strings)
            {
                Console.WriteLine(s + "&lt;/span&gt;: GetPathRoot(): " + Path.GetPathRoot(s));
            }
        }&lt;/pre&gt;&lt;pre class="csharpcode"&gt; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;----&lt;span class="rem"&gt;-- Test started: Assembly: test.vsc.masco.com.dll ------&lt;/span&gt;

\: GetDirectory(): 
.: GetDirectory(): 
C:\Temp: GetDirectory(): C:\
C:\Temp\foo\bar.txt: GetDirectory(): C:\Temp\foo
C:\Temp\foo.txt: GetDirectory(): C:\Temp
\foo\bar.txt: GetDirectory(): \foo
\foo\bar\baz.txt: GetDirectory(): \foo\bar
\foo\bar\: GetDirectory(): \foo\bar
foo\bar\: GetDirectory(): foo\bar
\\\\\\: GetDirectory(): 

\: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
.: IsPathRooted(): &lt;span class="kwrd"&gt;False&lt;/span&gt;
C:\Temp: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
C:\Temp\foo\bar.txt: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
C:\Temp\foo.txt: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
\foo\bar.txt: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
\foo\bar\baz.txt: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
\foo\bar\: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;
foo\bar\: IsPathRooted(): &lt;span class="kwrd"&gt;False&lt;/span&gt;
\\\\\\: IsPathRooted(): &lt;span class="kwrd"&gt;True&lt;/span&gt;

\: GetPathRoot(): \
.: GetPathRoot(): 
C:\Temp: GetPathRoot(): C:\
C:\Temp\foo\bar.txt: GetPathRoot(): C:\
C:\Temp\foo.txt: GetPathRoot(): C:\
\foo\bar.txt: GetPathRoot(): \
\foo\bar\baz.txt: GetPathRoot(): \
\foo\bar\: GetPathRoot(): \
foo\bar\: GetPathRoot(): 
\\\\\\: GetPathRoot(): \\


1 passed, 0 failed, 0 skipped, took 0.68 seconds (Ad hoc).&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;img src="http://blog.kellybrownsberger.com/aggbug/104.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>kellyb</dc:creator>
            <guid>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-cheatsheet.aspx</guid>
            <pubDate>Thu, 09 Dec 2010 02:27:22 GMT</pubDate>
            <comments>http://blog.kellybrownsberger.com/archive/2010/12/08/system-io-path-cheatsheet.aspx#feedback</comments>
            <wfw:commentRss>http://blog.kellybrownsberger.com/comments/commentRss/104.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
