1. 3 Simple Rules for Solution Management

    Having a properly structured project—or more properly, solution—is absolutely vital to ensuring a development initiative’s success. In a pinch, a developer needs to be able to pull the solution from source control, force a restore of the database and any other external dependencies, make minor and appropriate configuration changes and have a building, functional solution. […]

  2. What’s in Your Toolkit?

    After suffering through an inordinate number of “Whats in Your Wallet” commercials, I decided to share a few key components of my toolkit. No they do not involve faries, princesses, dragons or wierd looking centaur things. Anyhow, at the top of my chest of tools is: Fiddler: when dealing with modern applications with significant amounts […]

  3. Silverlight Takes Shape & MS Gets Dynamic at MIX ’07

    In case you missed the hubbub, Microsoft’s marketing machine has gone into rich media overdrive. First, at NAB, they gave WPF/E a reasonably non-geeky name: Silverlight. Mix 07′s keynote was a series of very impressive demos—all available online at the Mix site—showing what the alpha bits of Silverlight can do. The really exciting part is […]

  4. DevConnections Bound

    First, apologies for the recent lack of activity on this blog. I got bogged down with a project of sorts that ate my writing time. That has been wrapped up, so you should be expecting more content shortly. By shortly, I really mean tomorrow as I will be attending DevConnections 2007 in Orlando Florida, and […]

  5. Wrap Your NameValue Variables

    ASP.NET gives a developer a lot of loosely typed key-value collections in which to stash stash variables, depending upon persistence needs. The short list includes ViewState, Session, Application and HttpContext.Items. These collections can come in very handy when one needs to keep an object around outside of a single request or shuttle things between different bits of the http pipeline. But it comes at a price—these collections are loosely typed, just returning Objects. Moreover, there is no compile-time checking to ensure that you are requesting the right key in the right place. Errors can lead to crashes at best, and interesting data corruption at worst. Here is a handy technique to avoid such issues.