Category Archives: Development

Look at Azure Now / Again

If you looked into playing with Azure in the past, but did not jump in then it is time to take another look. Microsoft has added options over the last year that really remove objections to trying it out. If you have an MSDN subscription then you pretty much get a free playground in Azure that is going to waste if you don’t use it and if you don’t there is still the Introductory Special that goes through the end of March that gives you access to the basics of the service at no cost.

To look it over go to the Windows Azure Offers page at Microsoft.com and get going. You might not have a project that fits the Azure model currently, but you will. I am working on a new product for DTS that will have an Azure component and while it is still off in the horizon the time to jump in is before you are behind.

New Security Podcast Coming Soon

Michele Bustamante and I have started recording the first episodes of our new security focused podcast LockDown. While the website is up, it has place holder content describing Carl Franklin of .Net Rocks fame as our first guest (that was the original plan). However as usual Carl was flying around the globe when we started and we all agreed to save him for later.

If you are interested watch the podcast url or my blog (here) for the first show when it releases.

PHP and MySQL vs. ASP.Net and SQL Server

Over the last year I have gotten an education on PHP and MySQL web sites to go along with my existing expertise with ASP.Net and SQL Server.

It turns out that I purchased a web site a little over a year ago that supports gamers who play World of Warcraft (a game I have played for years). The site gets about 100,000 unique users a month with just shy of a million page views a month. The site was written in PHP against a MySQL backend and is just not driving the revenue yet to justify porting it to ASP.Net and SQL Server (though as you will read here the balance of pain is shifting that equation). It turns out that we end up rebooting the system pretty damn often which was a problem with IIS back in the old days, but not one I have had in recent versions.

We have thrown more hardware at the system, brought in professional help and it just seems that at these levels of use the system runs down and needs a kick and sometimes intensive care.

My point here is that it has been an education for me to validate what I suspected, there is no magic with the non-MS stack. It can hang in some regards, but it seems that for really heavy loads, MS has got them beat on stability. I am working on an ASP.Net with SQL Server site now that handles similar traffic and it just doesn’t suffer the same issues.

I plan to dig deeper into the tech here if for no other reason to figure out what it takes to port the site to ASP.Net with SQL Server.

PDC Notes

I just got back from the Microsoft PDC in LA and have been thinking about what I saw there.

It turns out that I have come to a couple of conclusions that I will surely post more about in the future, but for now here is the overview.

First there were several Windows Azure announcements that have swayed me from skeptic to seeing a real chance for Azure to be a contender. Chief among my concerns was the fact that I just didn’t see companies doing a big rewrite just to leverage a cloud solution. Now it is much easier to port an existing application to Azure and there is the option to customize the hosted image. I also saw a demo that no one else seems to have noticed (or I was imaging things). I could have sworn I saw a demo where SQL data hosted behind the company firewall was opened up for consumption by an Azure hosted application. I plan to watch that keynote again to make sure I know what I am talking about so consider this a disclaimer.

Second, I am now confident that Microsoft will not abandon either WPF nor SilverLight developers since there were already announcements to make both able to run with the same assemblies. A small step, but when coupled with the fact that VS2010 is built with WPF I think the two technologies are both valid for development (I was worried about the future of WPF until recently).

There was of course more, but those will have to wait for other posts.

Bugs are in the eyes of the beholder

As I work to build commercial software products I am regularly forced to remember that bug is a relative term. That sounds like a weasely way to explain away a fault in your software, but it really does turn out to be true especially when you have been on the ISV side of the conversation.


Back in August Steven Sinofsky posted a very insider view of how the Windows 7 team triaged bug reports on the Windows 7 Engineering blog. Microsoft products enjoy (a mixed blessing) more previewing eyes and shared opinions than most everyone. The bottom line you have to understand to put these things in perspective is that the creator of the software is on the hook for supporting, maintaining, justifying and profiting from their product. While the customer is always right about what they want, they aren’t always right in their belief of how my product should work.

Case in point. I have worked with and for ISVs for more than a decade now and I have seen time and again the process of a potential or current customer insisting that a feature must be added or a functionality changed. Not always, but often when the ISV has caved and added a feature that they did not feel would add value the negative feedback drowned out the voices that were asking for it.

In software development for commercial use you have to follow the advice of the song lyrics sometimes, namely “If you can’t please everyone, then you’ve got to please yourself”.


Ultimately if your product fails you can’t blame a customer or even a group of them for demanding things that ultimately took you off mission. Each customer complaint or feature request is a gift (as the book title goes), but it is not always one that you should embrace. This also goes for resellers, sales staff, developers and everyone else who is not on the blame line for the acceptance of the product by the market. That responsibility falls on the product owner who is often the business owner and visonary, or in cases like Microsoft a senior manager or executive.


If everyone remembered this we would probably have better software overall…

SilverLight Version 3 Released

Microsoft has always done well with version 3 goes the well worn saying. And so I have high expectations for SilverLight 3 which has just released. Being more involved with Security, Business Processes and Enterprise System Development I have not delved as deeply into SilverLight 1 and 2 as I had hoped. With this new release I feel I just have no choice and I suspect that if you are reading this then neither do you. Rich Internet Applications are really the best of both worlds given their low deployment hurdles (the gift that browser based apps bestowed on us) combines with rich and client processor driven user experience.


I had thought I would have years or at least a year more to wait for the third version, but Microsoft has been driven to outstrip the competition. I hope the competition tries to keep up since I like this pace very much.


If you are just getting started check out the “How Do I” Videos and read regularly Scott Guthrie’s blog.


SilverLight in this new release has the makings of starting the next dev revolution I believe. If I am right this one will have as big an impact as the release of Visual Basic 3.0…

Stealing Jobs: from offshoring to robots

I noticed an article on Wired about robots stealing jobs and got to thinking about outsourcing, this down economy and all the conversations I have had (calm and otherwise) about jobs moving offshore.


Ultimately I don’t see any reasonable way to stop jobs from following a well established lifecycle that ends in automation. If you take any task that is currently done by a robot you can probably look far enough into the past to find a point in time when it was cutting edge technology and either a skilled technician or fine artisan performed the function for premium pay (Dot Com boom html programmers for our purposes). As time goes on the task or job becomes well understood, well documented and even taught in all the schools around the world and since the task is still highly paid (that has eroded by now) it attracts alot of people who want that job. Then the task moves toward commodity and the formerly highly paid technicians and artisans have chosen from exactly two courses of action. They have either moved on to the new cutting edge thing or they are moaning about the erosion of their value in the marketplace (blaming the marketplace of course and never themselves). Then it gets worse for this latter group since eventually (and eventually comes quick in the 21st century we have found) the commodity task is recognized to be cheaper to be done offshore. For high tech India and Egypt are hot along with many other locals (I just have most of my experience with offshore teams in these countries). The formerly high end task is drone work now and can be done by a bright student from any continent so the work flows to where it can be done most inexpensively. This is the point of maximum complaint by those who remember making $100 an hour for doing this task. They then stop paying attention just in time for that task to be automated by a program, system or abstraction layer so that no one would ever pay for it to be done by hand ever again. At this point you could probably hear people in the offshore tech districts complaining. This is progress. It is painful, but it is also inexorable, you cannot stop it and you shouldn’t try to slow it down. Instead you should be like the other group of highly skilled technicians and artisans and find the next big thing and constantly hone your skills. This is absolutely doable in our high tech field.


I know this post will come off as callous to some and I am sorry if I am too blunt for some, but especially in times like these we have to stop looking back wistfully at the past and grab our books and browsers and dig in to invent and shape the next revolution. I personally think that energy and the technology that helps with conservation is the next big thing, but there is still lots of room elsewhere. If you view the lifecycle of a job as a good thing you see that it has freed us from farming our own food, making our own clothes and has allowed so many of the things that are best in our civilization. Embrace it or be marginalized.


Finally my apologies to those stock boys out there who have had their hopes and dreams shattered by R2D2.