The price of complexity
My house was haunted. One of the lights would randomly go on or off and random times without anybody fiddling the switch. The previous owner of our house had installed fancy dimmer light switches. On a...
View ArticleNice MSDN URLs
I noticed that MSDN finally has nice URLs for the BCL. (Or perhaps that should be "I finally noticed that ...", depending on how long this has been) So instead of:...
View ArticleStuff in Reflection that's not in Metadata
Previously, I mentioned some things in Metadata that aren't exposed in Reflection. Here's an opposite case. While metadata represents static bits on disk, Reflection operates in a live process with...
View ArticleUpdated MSDN forums
The MSDN forums are updated and have a new look and feel. It's at a new link too: http://forums.msdn.microsoft.com/en-US/netfxtoolsdev/threads/ (the old link still forwards).
View ArticleManaged Dump debugging support for Visual Studio and ICorDebug
This is the longest I've gone without blogging, but our PDC announcements have stuff way too cool to stay quiet about. If you saw PDC, you've head that the CLR Debugging API, ICorDebug, will support...
View ArticleMVP Summit 2009
For those going to the 2009 MVP Summit, I’ll be one of the speakers at the breakout sessions on March 2nd on Microsoft’s Main campus.
View ArticleVirtual code execution via IL interpretation
As Soma announced, we just shipped VS2010 Beta1. This includes dump debugging support for managed code and a very cool bonus feature tucked in there that I’ll blog about today. Dump-debugging (aka...
View ArticleICustomQueryInterface and CLR V4
CLR V4 fixes an issue with COM-interop that’s been bothering me for a while. The problem is that unless you’re using a PIA, you can often have either your caller or callee be managed code, but not...
View ArticleWriting a CLR Debugger in Python
Harry Pierson has written an excellent set of blog entries about writing a managed debugger in IronPython. He builds on the ICorDebug managed wrappers that we ship in Mdbg and explains many of the...
View ArticleSpeaking at Lake County .NET User’s Group
I’ll be speaking at the Lake County .NET User’s Group (LCNUG) near Chicago, Illinois on September 24th. I’ll be talking about new features in C# 4.0, including named and optional parameters, dynamic...
View ArticleWindows Phone 7
I recently got the newly released Windows Phone 7 (the Samsung Focus). So far, I love it! This is my first smart-phone. It’s nice to join the 21st century. I’m also poking around with how to write...
View ArticlePython Tools for VS
I’ve been having a great time using Python Tools for VS. It’s a free download that provides CPython language support in Visual Studio 2010. The intellisense is pretty good (especially for a dynamic...
View ArticlePyvot for Excel
I’m thrilled to see the availability of Pyvot, a python package for manipulating tabular data in excel. This is part of the Python Tools for Visual Studio (PTVS) ecosystem. Check out the codeplex site...
View ArticleOpenSource CSV Reader on Nuget
I did some volunteer work a few years ago that required processing lots of CSV files. So I solved the problems by writing a C# CSV reader, which I wanted to share here. The basic features here are: be...
View ArticleASP.Net WebAPI
I recently joined the ASP.Net team and have been working on WebAPI, which is a new .NET MVC-like framework for building HTTP web services. (This is certainly a change of pace from my previous life in...
View ArticleHow WebAPI does Parameter Binding
Here’s an overview of how WebAPI binds parameters to an action method. I’ll describe how parameters can be read, the set of rules that determine which technique is used, and then provide some...
View ArticleMVC Style parameter binding for WebAPI
I described earlier how WebAPI binds parameters. The entire parameter binding behavior is determined by the IActionValueBinder interface and can be swapped out. The default implementation is...
View ArticleHow to bind to custom objects in action signatures in MVC/WebAPI
MVC provides several ways for binding your own arbitrary parameter types. I’ll describe some common MVC ways and then show how this applies to WebAPI too. You can view this as a MVC-to-WebAPI...
View ArticleHow to create a custom value provider in WebAPI
Here’s how you can easily customize WebAPI parameter binding to include values from source other than the url. The short answer is that you add a custom ValueProvider and use Model Binding, just like...
View ArticleExcel on Azure
I amended my open-source CsvTools with an Excel reader. Once I read the excel worksheet into a datatable, I can use all the data table operators from the core CsvTools, including enumeration, Linq...
View Article