Mar 252012

I decided to spend some time this afternoon getting started with Microsoft’s Azure cloud service. Since I have an MSDN Subscription, I am allowed a certain amount of usage for free, and I figured I should check it out. I started by logging into my MSDN Subscription, clicking on My Account, and then clicking on Activate under the Azure section. I was greeting by this less-than-helpful message tell me “The offer is not available”. Continue reading »

Mar 242012

In December 2011, Microsoft released version 5 of their Silverlight platform. With that release, they filled in all of the remaining gaps and made Silverlight an excellent platform for internal line-of-business applications. It provides web-based deployment, COM integration, support for in- and out-of-browser modes, and all that using C# and XAML. What could be better for the thousands of run-of-the-mill data entry applications that are written everyday inside large corporations?

And yet developers are afraid to use Silverlight. Most devs I talk to think it is somewhere between dead and dying. Microsoft abandoned it, didn’t they? Aren’t you supposed to use HTML5 now? There is some truth to this, but plenty of confusion as well. In this post I’m going to update my position on Silverlight since I last wrote about it, and attempt to give developers a more clear direction on when it still makes sense to use Silverlight, and what it will mean for your career to invest your time in learning it.

Continue reading »

May 162011

Thanks to everyone who attended my talk at the New England Silverlight Guild at the MS NERD Center in Cambridge, MA. WCF RIA Services is a really cool technology that makes line-of-business apps on top of Silverlight a heck of a lot easier. Hopefully my talk served as a good introduction and convinced a couple people to give WCF RIA Services a try. This zip contains the slides and code from the talk. If you have any questions, feel free to contact me, or leave a comment on this post.

Apr 192011

This is part three in a series of articles on .NET architecture. You can start here for the introduction and table of contents. This post will focus on the first thing you should think about when starting a new .NET application: cross-cutting concerns. And, by the way, I got really tired of type “cross-cutting concern” after about a dozen times, so I decided to coin a new acronym for them: C3s. I hope you like it. Continue reading »

Mar 282011

I’ve been hearing a lot lately about how HTML5 is going to kill Silverlight. I hear that Microsoft has admitted that it is going with HTML5 in favor of Silverlight. And I hear that Silverlight is a doomed technology.

Here’s the problem: this is all untrue. Microsoft has not said anything of the sort, and is in fact investing quite a bit of resources in advancing the technology. Secondly, the road to HTML5 is far from smooth.

In this post I hope to examine the current state of HTML5 and Silverlight, the facts around Microsoft’s position with both of them, and offer some opinions on where things are going. Continue reading »

Mar 202011

This is part two in a series of articles on .NET architecture. You can start here for the introduction and table of contents. This post will focus on the overarching principles I’ve developed when tackling application architecture. The focus of this post is not on individual technologies (except when used as examples), but on general rules of thumb that I use to help guide me when making architectural decisions.

I consider these to be the axioms of my architectural philosophy. And like axioms in philosophy, if you disagree with any of these foundational principles, you will most likely disagree with a lot of the conclusions I draw based on them. But that’s okay – no matter what principles you hold, someone will always disagree. :-) Continue reading »

Mar 202011

About a year ago, through a series of cascading events, I found myself in the position of being the only application architect for the .NET portfolio of a medium sized development shop. Even before that happened, I had read a good deal about architecture, .NET technologies, coding best practices, TDD, design patterns, etc. But it is a bit of a shock to move from reading about all of those things to deciding how to apply them in a practical way. Of course as a developer you have a chance to apply all of that knowledge to whatever code you are working on, and you can influence the rest of the team. But as an architect I found I suddenly had to have a well-defined position on a lot more of these topics, and, if at all possible, that position had to be right. Continue reading »

 Posted by at 2:22 PM
Mar 012011

I am currently working on doing some integration between ASP.NET and Sharepoint.  The Sharepoint site I’m going against is hosted by a third party, and I couldn’t find an obvious way to figure out what version of Sharepoint I was actually working with.  I was praying for SP 2010 because it has a built in OData endpoint that makes things a lot easier to use.  The OData endpoint didn’t seem to be working (a post for a different time), but I still wanted to verify what version of SP I was working with, so I didn’t look like an idiot when contacting the host for support.

After some research, it turns out that Sharepoint returns a response header with the Sharepoint version.  So, using my trusty Firebug, I went to the site’s home page, and in the Net tab of Firebug, under the Home.aspx entry, there was a response header MicrosoftSharePointTeamServices with a value of  Looking at this post, this is indeed the version that corresponds with Sharepoint 2010 RTM.  Good news.  Now if I only I could get that OData endpoint working…