<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Latest Microsoft Blogs : Software Development</title><link>http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx</link><description>Tags: Software Development</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Death to confirmation dialogs with jquery.undoable</title><link>http://haacked.com/archive/2010/01/01/jquery-undoable-plugin.aspx</link><pubDate>Sat, 02 Jan 2010 06:09:14 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7297666</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7297666</wfw:commentRss><comments>http://haacked.com/archive/2010/01/01/jquery-undoable-plugin.aspx#comments</comments><description>Confirmation dialogs were designed by masochists intent on making users of the web miserable. At least that’s how I feel when I run into too many of them. And yes, if you take a look at Subtext, you can see I’m a perpetrator. Well no longer! I was managing my Netflix queue recently when I accidentally added a movie I did not intend to add (click on the image for a larger view). Naturally, I clicked on the blue “x” to remove it from the queue and saw this. Notice that there’s no confirmation dialog that I’m most likely to ignore questioning my intent requiring me to take yet one more action to remove the movie. No, the movie is removed immediately from my queue just as I requested. I love it when software does what I tell it to do and doesn’t...(&lt;a href="http://haacked.com/archive/2010/01/01/jquery-undoable-plugin.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7297666" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/jquery/default.aspx">jquery</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/jquery+plugin/default.aspx">jquery plugin</category></item><item><title>Converting an RGB Color To Hex With JavaScript</title><link>http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx</link><pubDate>Wed, 30 Dec 2009 04:40:54 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7294836</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7294836</wfw:commentRss><comments>http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx#comments</comments><description>I’ve been distracted by a new jQuery plugin that I’m writing. The plugin has certain situations where it sets various background and foreground colors. You can have it set those styles explicitly or you can have it set a CSS class, and let the CSS stylesheet do the work. I’m writing some unit tests to test the former behavior and ran into an annoying quirk. When testing the color value in IE, I’ll get something like #e0e0e0 , but when testing it in FireFox, I get rgb(224, 224, 224) . Here’s a function I wrote that normalizes colors to the hex format. Thus if the specified color string is already hex, it returns the string. If it’s in rgb format, it converts it to hex. function colorToHex(color) { if (color.substr(0, 1) === &amp;#39;#&amp;#39; ) { return...(&lt;a href="http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7294836" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/color/default.aspx">color</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/rgb/default.aspx">rgb</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/hex/default.aspx">hex</category></item><item><title>jQuery Hide/Close Link</title><link>http://haacked.com/archive/2009/12/25/jquery-hide-close-link.aspx</link><pubDate>Sat, 26 Dec 2009 01:38:34 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7291246</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7291246</wfw:commentRss><comments>http://haacked.com/archive/2009/12/25/jquery-hide-close-link.aspx#comments</comments><description>It’s Christmas day, and yes, I’m partaking in the usual holiday fun such as watching Basketball, hanging out with the family and eating our traditional Alaskan king crab Christmas dinner. But of course it wouldn’t be a complete day without writing a tiny bit of code! Today I’ve been working on improving the UI here and there in Subtext. One common task I run into over and over is using an anchor tag to trigger the hiding of another element such as a DIV . It happens so often that I get pretty tired of hooking up each and very link to the element it must hide. Being the lazy *** that I am, I thought I’d try to come up with a way to do this once and for all with jQuery and a bit of convention. Here’s what I came up with. The following HTML shows...(&lt;a href="http://haacked.com/archive/2009/12/25/jquery-hide-close-link.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7291246" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/jquery/default.aspx">jquery</category></item><item><title>ASP.NET MVC 2 and Visual Studio 2010</title><link>http://haacked.com/archive/2009/12/19/aspnetmvc-2-and-vs2010.aspx</link><pubDate>Sun, 20 Dec 2009 06:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7285427</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7285427</wfw:commentRss><comments>http://haacked.com/archive/2009/12/19/aspnetmvc-2-and-vs2010.aspx#comments</comments><description>When we released ASP.NET MVC 2 Beta back in November, I addressed the issue of support for Visual Studio 2010 Beta 2. Unfortunately, because Visual Studio 2010 Beta 2 and ASP.NET MVC 2 Beta share components which are currently not in sync, running ASP.NET MVC 2 Beta on VS10 Beta 2 is not supported. The release candidate for ASP.NET MVC 2 does not change the situation, but I wasn’t as clear as I could have been about what the situation is exactly. In this post, I hope to clear up the confusion (and hopefully not add any more new confusion) and explain what is and isn’t supported and why that’s the case. Part of the confusion may lie in the fact that ASP.NET MVC 2 consists of two components, the runtime and what we call “Tooling”. The runtime...(&lt;a href="http://haacked.com/archive/2009/12/19/aspnetmvc-2-and-vs2010.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7285427" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>Live Preview jQuery Plugin</title><link>http://haacked.com/archive/2009/12/15/live-preview-jquery-plugin.aspx</link><pubDate>Tue, 15 Dec 2009 23:00:16 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7279657</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7279657</wfw:commentRss><comments>http://haacked.com/archive/2009/12/15/live-preview-jquery-plugin.aspx#comments</comments><description>Many web applications (such as this blog) allow users to enter HTML as a comment. For security reasons, the set of allowed tags is tightly constrained by logic running on the server. Because of this, it’s helpful to provide a preview of what the comment will look like as the user is typing the comment. That’s exactly what my live preview jQuery plugin does. See it in action This is the first jQuery Plugin I’ve written, so I welcome feedback. I was in the process of converting a bunch of JavaScript code in Subtext to make use of jQuery, significantly reducing the amount of hand-written code in the project. Needless to say, it was a lot of fun. I decided to take our existing live preview code and completely rewrite it using JavaScript. All you...(&lt;a href="http://haacked.com/archive/2009/12/15/live-preview-jquery-plugin.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7279657" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/jquery/default.aspx">jquery</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/jquery+plugin/default.aspx">jquery plugin</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/live+preview/default.aspx">live preview</category></item><item><title>How the IIS SEO Toolkit Saved My Butt</title><link>http://haacked.com/archive/2009/12/14/seo-toolkit-saves-the-day.aspx</link><pubDate>Tue, 15 Dec 2009 06:16:48 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7279058</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7279058</wfw:commentRss><comments>http://haacked.com/archive/2009/12/14/seo-toolkit-saves-the-day.aspx#comments</comments><description>Ok, it wasn’t necessarily my ass that was saved, but it was years worth of images which were important to me! As I wrote yesterday , my blog’s hosting server had a hard-drive failure effectively wiping out my virtual machine, taking my blog down with it. Fortunately, I was able to get back up with a static archive of my site provided by Rich Skrenta, but I was missing all my images and other content (code samples). As Jeff mentions, I have learned the hard way that there are almost no organizations spidering and storing images on the web. Keep in mind that the images are not just mere eye candy. In many cases, they serve to illustrate key concepts: “ As you can see in the screenshot above, if the screenshot were still to exist, but through the...(&lt;a href="http://haacked.com/archive/2009/12/14/seo-toolkit-saves-the-day.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7279058" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Personal/default.aspx">Personal</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/SEO/default.aspx">SEO</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/blogtastrophe/default.aspx">blogtastrophe</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/backup/default.aspx">backup</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/iis+seo+toolkit/default.aspx">iis seo toolkit</category></item><item><title>Localizing ASP.NET MVC Validation</title><link>http://haacked.com/archive/2009/12/07/localizing-aspnetmvc-validation.aspx</link><pubDate>Tue, 08 Dec 2009 06:11:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7273541</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7273541</wfw:commentRss><comments>http://haacked.com/archive/2009/12/07/localizing-aspnetmvc-validation.aspx#comments</comments><description>This is the fourth post in my series on ASP.NET MVC 2 and its new features. ASP.NET MVC 2 Beta Released (Release Announcement) Html.RenderAction and Html.Action ASP.NET MVC 2 Custom Validation Localizing ASP.NET MVC Validation In my recent post on custom validation with ASP.NET MVC 2 , several people asked about how to localize validation messages. They didn’t want their error messages hard-coded as an attribute value. It turns out that it’s pretty easy to do this. Localizing error messages is not specific to ASP.NET MVC, but is a feature of Data Annotations and ASP.NET. And everything I cover here works for ASP.NET MVC 1.0 (except for the part about client validation which is new to ASP.NET MVC 2). I covered this feature a back in March at...(&lt;a href="http://haacked.com/archive/2009/12/07/localizing-aspnetmvc-validation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7273541" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Validation/default.aspx">Validation</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/data+annotations/default.aspx">data annotations</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/localization/default.aspx">localization</category></item><item><title>T4CSS: A T4 Template for .Less CSS With Compression</title><link>http://haacked.com/archive/2009/12/02/t4-template-for-less-css.aspx</link><pubDate>Wed, 02 Dec 2009 21:07:30 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7268896</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7268896</wfw:commentRss><comments>http://haacked.com/archive/2009/12/02/t4-template-for-less-css.aspx#comments</comments><description>Pain is often a great motivator for invention, unless you become dull to the pain. I think CSS is one of those cases where there’s a lot of pain that we as web developers often take in stride. Fortunately not everyone accepts that pain and efforts such as LESS are born. As the home page states: LESS extends CSS with: variables, mixins, operations and nested rules. Best of all, LESS uses existing CSS syntax. This means you can rename your current .css files .less and they’ll just work. LESS solves a lot of the pain of duplication when writing CSS. Originally written as a Ruby gem, Chris Jowen ported a version to .NET not surprisingly called .less . Here are some examples from the .less homepage: .Less implements LESS as an HttpHandler you add...(&lt;a href="http://haacked.com/archive/2009/12/02/t4-template-for-less-css.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7268896" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Web/default.aspx">Web</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/CSS/default.aspx">CSS</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/T4/default.aspx">T4</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/yui/default.aspx">yui</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/less/default.aspx">less</category></item><item><title>Recent Podcasts</title><link>http://haacked.com/archive/2009/11/22/recent-podcasts.aspx</link><pubDate>Mon, 23 Nov 2009 05:58:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7263300</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7263300</wfw:commentRss><comments>http://haacked.com/archive/2009/11/22/recent-podcasts.aspx#comments</comments><description>Just wanted to highlight a couple of podcasts that were suckers gracious enough to have me as a guest. HerdingCode In this podcast I join the fellas at HerdingCode . Although this podcast came out after the Hanselminutes one, it was actually recorded a long time prior to that one. Jon Galloway , who does the editing, probably has some lame excuse about life changing events keeping him busy . I spent most of the time covering what’s new with ASP.NET MVC 2 Preview 2, how the community influences our project, and how we prioritize bugs. I also finally reveal the dirty truth about Rob Conery ’s departure from Microsoft. What’s notable about this episode is the introduction of a brand new segment, “Abusive Questions from Twitter”. I was having problems...(&lt;a href="http://haacked.com/archive/2009/11/22/recent-podcasts.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7263300" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Podcast/default.aspx">Podcast</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category></item><item><title>Html.RenderAction and Html.Action</title><link>http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx</link><pubDate>Wed, 18 Nov 2009 18:22:24 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7259478</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7259478</wfw:commentRss><comments>http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx#comments</comments><description>One of the upcoming new features being added to ASP.NET MVC 2 Beta is a little helper method called Html.RenderAction and its counterpart, Html.Action . This has been a part of our ASP.NET MVC Futures library for a while, but is now being added to the core product. Both of these methods allow you to call into an action method from a view and output the results of the action in place within the view. The difference between the two is that Html.RenderAction will render the result directly to the Response (which is more efficient if the action returns a large amount of HTML) whereas Html.Action returns a string with the result. For the sake of brevity, I’ll use the term RenderAction to refer to both of these methods. Here’s a quick look at how...(&lt;a href="http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7259478" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/renderaction/default.aspx">renderaction</category></item><item><title>ASP.NET MVC 2 Beta Released</title><link>http://haacked.com/archive/2009/11/17/asp.net-mvc-2-beta-released.aspx</link><pubDate>Tue, 17 Nov 2009 18:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7258168</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7258168</wfw:commentRss><comments>http://haacked.com/archive/2009/11/17/asp.net-mvc-2-beta-released.aspx#comments</comments><description>Today at PDC09 (the keynote was streaming live ), Bob Muglia announced the release of ASP.NET MVC 2 Beta . Feel free to download it right away! While you do that I want to present this public service message. The Beta release includes tooling for Visual Studio 2008 SP1. We did not ship updated tooling for Visual Studio 2010 because ASP.NET MVC 2 is now included as a part of VS10, which is on its own schedule. Unfortunately, because Visual Studio 2010 Beta 2 and ASP.NET MVC 2 Beta share components which are currently not in sync, running ASP.NET MVC 2 Beta on VS10 Beta 2 is not supported . Here are some highlights of what’s new in ASP.NET MVC 2. RenderAction (and Action) AsyncController Expression Based Helpers (TextBoxFor, TextAreaFor, etc....(&lt;a href="http://haacked.com/archive/2009/11/17/asp.net-mvc-2-beta-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7258168" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category></item><item><title>Interface Inheritance Esoterica</title><link>http://haacked.com/archive/2009/11/10/interface-inheritance-esoterica.aspx</link><pubDate>Tue, 10 Nov 2009 18:43:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7250770</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7250770</wfw:commentRss><comments>http://haacked.com/archive/2009/11/10/interface-inheritance-esoterica.aspx#comments</comments><description>I learned something new yesterday about interface inheritance in .NET as compared to implementation inheritance. To illustrate this difference, here’s a simple demonstration. I’ll start with two concrete classes, one which inherits from the other. Each class defines a property. In this case, we’re dealing with implementation inheritance . public class Person { public string Name { get; set; } } public class SuperHero : Person { public string Alias { get; set; } } We can now use two different techniques to print out the properties of the SuperHero type: type descriptors and reflection. Here’s a little console app that does this. Note the code I’m showing below doesn’t include a few Console.WriteLine calls that I have in the actual app. static...(&lt;a href="http://haacked.com/archive/2009/11/10/interface-inheritance-esoterica.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7250770" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Interfaces/default.aspx">Interfaces</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/model+binding/default.aspx">model binding</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/cli/default.aspx">cli</category></item><item><title>Neat VS10 Feature: Pinning A Debugger Watch</title><link>http://haacked.com/archive/2009/11/06/pinning-a-debugger-watch.aspx</link><pubDate>Sat, 07 Nov 2009 00:42:53 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7248634</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7248634</wfw:commentRss><comments>http://haacked.com/archive/2009/11/06/pinning-a-debugger-watch.aspx#comments</comments><description>I was stepping through some code in a debugger today and noticed a neat little feature of Visual Studio 2010 that I hadn’t noticed before. When debugging, you can easily examine the value of a variably by highlighting it with your mouse. Nothing new there. But then I noticed a little pin next to it, which I’ve never seen before. So what do you see when you see a pin? You click on it! As you might expect, that pins the quick watch in place. So now I hit the play button, continue running my app in the debugger, and the next time I hit that breakpoint: I can clearly see the value changed since the last time. I think this may come in useful when walking through code as a way of seeing the value of important variables right next to where they are...(&lt;a href="http://haacked.com/archive/2009/11/06/pinning-a-debugger-watch.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7248634" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>A RouteHandler for IHttpHandlers</title><link>http://haacked.com/archive/2009/11/04/routehandler-for-http-handlers.aspx</link><pubDate>Thu, 05 Nov 2009 00:18:30 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7247419</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7247419</wfw:commentRss><comments>http://haacked.com/archive/2009/11/04/routehandler-for-http-handlers.aspx#comments</comments><description>I saw a bug on Connect today in which someone offers the suggestion that the PageRouteHandler (new in ASP.NET 4) should handle IHttpHandler as well as Page . I don’t really agree with the suggestion because while a Page is an IHttpHandler , an IHttpHandler is not a Page . What I this person really wants is a new handler specifically for http handlers. Let’s give it the tongue twisting name: IHttpHandlerRouteHandler . Unfortunately, it’s too late to add this for ASP.NET 4, but it turns out such a thing is trivially easy to write. In fact, here it is. public class HttpHandlerRouteHandler&amp;lt;THandler&amp;gt; : IRouteHandler where THandler : IHttpHandler, new () { public IHttpHandler GetHttpHandler(RequestContext requestContext) { return new THandler...(&lt;a href="http://haacked.com/archive/2009/11/04/routehandler-for-http-handlers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7247419" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Routing/default.aspx">Routing</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/ASP.NET+4/default.aspx">ASP.NET 4</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/IHttpHandler/default.aspx">IHttpHandler</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/PageRouteHandler/default.aspx">PageRouteHandler</category></item><item><title>Software Externalities</title><link>http://haacked.com/archive/2009/10/13/software-externalities.aspx</link><pubDate>Tue, 13 Oct 2009 18:19:14 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7229013</guid><dc:creator>you've been HAACKED</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/aspnet-team/rsscomments.aspx?PostID=7229013</wfw:commentRss><comments>http://haacked.com/archive/2009/10/13/software-externalities.aspx#comments</comments><description>If you’re a manufacturing plant, one way to maximize profit is to keep costs as low as possible. One way to do that is to cut corners. Go ahead and dump that toxic waste into the river and pollute the heck out of the air with your smoke stacks. These options are much cheaper than installing smoke scrubbers or trucking waste to proper disposal sites. Of course, economists have long known that this does not paint the entire picture. Taking these shortcuts incur other costs, it’s just that these costs are not borne by the manufacturing plant. The term externalities describes such spillover costs. In economics an externality or spillover of an economic transaction is an impact on a party that is not directly involved in the transaction. In such...(&lt;a href="http://haacked.com/archive/2009/10/13/software-externalities.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7229013" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/Agile/default.aspx">Agile</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/externalities/default.aspx">externalities</category><category domain="http://weblogs.asp.net/aspnet-team/archive/tags/entropy/default.aspx">entropy</category></item></channel></rss>