Monday, December 1, 2008

Getting Started with Azure Services Platform, A Reprise

I was surprised to have a lot of visitors after my last post!  I will be returning to DSL's and Oslo soon, but for right now I'm focusing on Windows Azure, including the Live Services Framework.

I've been quiet the last couple of weeks because I've been busy digging into Azure Services, getting everything installed, going through walkthroughs, and browsing blogs and the forums to see how others are faring.  

I thought I'd post a few hints about a few minor false starts that I've seen that several have run into (including me).

Let's start from the very beginning...

First, make sure that you have all the requisites:

If you will be working with Azure Services, Live Services, and Oslo, you will eventually need all of these.  If you can't or won't install Vista or Server 2008 on your own machine, you can download an evaluation copy of Server 2008 and run it in a virtual machine.

Because IIS 7.0 strives to be secure by default, you will need to explicitly enable both ASP.NET and WCF Http Activation if you haven't already enabled them both.  If you are configuring a new machine or VM, it's easy to forget these.

If you have SQL Server 2005, you will have problems installing the Oslo repository like I did, so save yourself the time and start with the upgrade to SQL Server 2008 first.

A very good place to start

After you've got all of the requirements, then you can use my earlier post for links to most of the Azure SDK's.

This does not include the tools for the Live Services Framework.  You will need to wait until you have a valid Live Services token and then follow Angus Logan's screencast

If you follow his instructions you should be nearly golden.  There is only one small issue.  You won't be able to unzip the Live Services SDK directly to your %Program Files% folder.  This is a protected folder, so you need to unzip the SDK to an unprotected location first and move the files manually.


After you have all the tools installed, there are some good training tools to get you started.

Going through the hands-on labs in the Azure Services Training Kit I ran into a small glitch with WCF when I followed the instructions precisely.  Dominic Green had already worked out what piece didn't work and posted the answer here.

UPDATE:  There is another problem in the SQL Data Services Lab, which you can fix by following the instructions from Ryan Dunn in his post, Fixing the SDS HOL from Azure Training Kit.

As you can see, there is a ton of stuff to go through.  Hopefully with these tips you can get started more quickly without any hiccups.

Later This Week

Later this week I will be attending the Microsoft SOA Launch in New York and the Live Services Jumpstart in San Francisco.  I'm looking forward to learning more details about Azure, Live Services, "Oslo" and "Dublin" but also getting a chance to ask questions directly to Microsoft.   If you're going to be there, send me a note or a tweet and maybe we can chat.

Sunday, November 16, 2008

Oslo == 42

In Douglas Adams book The Hitchhiker's Guide to the Galaxy, he tells how a supercomputer named Deep Thought worked to calculate the answer to Life, the Universe, and Everything.  After 7½ million years, the supercomputer came up with the answer:  42.   Unfortunately, no one could understand the answer because they didn't know the question.

Some might argue that "Oslo" is Microsoft's answer to "life, the universe, and everything" IT-related, but now that it has been revealed, many developers are confused and left wondering what is the question that it solves.

One of the posts on the "Oslo" forums queries "Why do we need Oslo?"

Doug Purdy gave his answer on his blog this week:  Oslo v1 is about developer productivity.  If you watch his PDC talk, A Lap around "Oslo", he explains that Oslo is about capturing the essence of the code without the ceremony.

The bold purpose of "Oslo" is to enable capturing the intent of the business in terms that are equally clear to humans and to computers.

How does the "Oslo" modeling platform attempt to meet this objective? 

In a nutshell, "Oslo" attempts to provide developers and analysts with the tools to abstract their intent as data and stores this data so that it can be executed later.

A simple Example

While at my previous employer I was responsible for an application framework for a line of business application.  One of the features that we supported was the ability to create forms to display entity fields to the user. 

To do this, we separated the implementation of rendering the forms and controls from the business entities.   We had an XML file to store which fields should be displayed for each form.  It looked vaguely like this:

<form entity="Defect">
<field name="Defect Number"/>
<field name="Found By" />
<field name="Title" />
<field name="Description" />
<field name="Repro Scenario" />

We then had a forms engine that could use this XML file to render a web form to the user using the appropriate web controls based upon the data type of each field, similar to the Dynamic Data Controls in ASP.NET 3.5 SP1

This XML file was effectively a custom Domain Specific Language, and each XML document was our form model.  Each of these form models were stored either on the file system or in the database as our repository.  The application framework served as the execution engine for our form models.  We even had a form designer for laying out the various components of the form visually.

So what did this give us?

  • Developers could rapidly implement a new form-based UI more quickly than wiring up the ASP.NET controls manually.
  • Customers and Business Analysts could design their own custom forms and add them to the system.
  • We were looking at the possibility of transitioning to use Silverlight or a 3rd party web control library for a richer user experience.  If we did, we would only need to update the application framework and the form models could remain untouched.

This approach allowed us to have a better separation of concerns.  The form rendering logic was baked into our application framework, while the business logic about which fields should be displayed were separated and could evolve separately.

why "Oslo"?

If you have already been separating your "what" from your "how", as we did in our forms engine, what benefit do you get from "Oslo"?

  • Better tools to do what you're already doing
  • Less isolation and fewer silos of information
  • Better transparency into your models

Our XML model was fairly simple, yet with a large form, it still became cumbersome because of all of the XML noise.   Using "M" we could have written a terser DSL that captures the essence of our intent, without all the ceremony of the XML angle brackets.

For example, here's a model more friendly to developers:

form Defect
Defect Number,
Found By,
Repro Scenario

Or, if you want a more human readable grammar for your customers and business analysts:

Defect has a form with the following fields: Defect Number, Found By, Title, Description, and Repro Scenario.

If this were stored in the "Oslo" Repository, we might have been able to have designer that was richer and easier to implement with Quadrant, and we would be able to integrate with our entity designer, too, to see which fields were available for each entity type.

Finally, if the model were stored in the Repository, other tools might be able to better discover information about these forms. 

For example, if we rename "Repro Scenario" to just "Scenario", or remove "Found By" from our entity model, we could immediately detect which forms use these fields and update our form model appropriately.

But, if you're already doing declarative, model-driven design like this, you probably can already imagine many more useful scenarios that "Oslo" enables.

What if you have never looked at your code this way before? 

Well, this might seem like a lot of unnecessary overhead.  Is it really that hard to write good ASPX code, and how often do you really need to swap out your rendering engine?

Shawn Wildermouth gave his answer to the broader question, "Why do we need DSL's?", and I think his post explains why there is value in taking this approach.

Today, customers talk to business analysts, who might capture what they think that they heard in some UML model somewhere, maybe in Visio.  They might do mockups of screen shots with Photoshop of how the user experience should work.   They then pass this onto the architect or developer to implement, who implement what they understand the customer's intent to be.  

This is like an elaborate game of telephone, though, and there is bound to be misunderstanding somewhere along the way.

If you have a good team, your developer will get this right most of the time.  If you are using Agile, you will probably get it right more often because your developers will be talking to your customers directly, and you'll get feedback quicker when it is wrong, but you will still have waste. 

Model driven development offers the opportunity to allow the customer to express their intent directly and see the impact of their decisions immediately without being translated through many different layers.

If "Oslo" can succeed in their goals, there can be much more rapid development with much less waste, which should matter to anyone who cares about business value.

Should I start building my code with "Oslo" today?

That depends on you and your needs.  

The "Oslo" Team has a large vision, which cannot be fully accomplished in v1.   They will have plenty of work to do in future releases.  Even this is still early and "nascent" according to Don Box and Ray Ozzie.  "Oslo" is still raw and will probably change before v1.  If you need your tools to be fully baked, then it is too early for you to build on "Oslo".

If you are just now trying to understand how model driven development and DSL's can help you with your development, maybe it would be useful for you to download the tools and play with it so that you can begin to grasp how this is different or similar to how you do things today.  Try thinking about the problems that your current project has that might benefit from this mind set.

If you have already been using this approach, try out using the tools from Microsoft to see if they will help you do what you already do more easily.  Discover the gaps, if any, that would prevent you from using "Oslo".

When you are done give your feedback to Microsoft on the "Oslo" forum so that they can make the necessary changes so that v1 supports as many scenarios as possible and it lays a solid foundation for future releases.

Sunday, November 9, 2008

NYC Connected Systems User Group

Keith Pijanowski will speaking about Windows Azure and Software + Services tomorrow night at the NYC Connected Systems User Group.

I expect that his presentation will be similar to the one he gave a few weeks ago to the IASA New York group.  If you're interested in Microsoft's Azure Services Platform, you might want to sign up to attend.

Fairfield / Westchester Code Camp

I attended code camp yesterday in Stamford, CT.  I'm not used to getting up at 5:00 am to catch the train out there, so I was a little tired but I enjoyed the day.  While on the train to and from Manhattan, I used the time to dig into the "M" Language specification.

If you're not familiar with what a Code Camp is, it is a conference for developers and by developers.  I found the speakers were very good and excited by their topics, and the conversations with the other developers were interesting.

I recommend attending and getting involved with your own local code camp.  I've already volunteered to help with the NYC Code Camp in January.

These are the sessions I attended yesterday:

Building Applications with Microsoft Cloud Services

Bill Zack presented his version of A Lap Around the Azure Services Platform.  This was a essentially the same presentation that Bill gave to the IASA New York group a couple of weeks ago.  In case you missed both of these, Bill will be presenting on this topic again next month at the NYC .NET Developers User Group on December 18th.

Next Generation User Interfaces using Microsoft Expression Studio

David Isbitski covered how to help developers learn how to leverage Expresssion Blend to create a simple, but cool Silverlight interface.   It was a good introduction to Silverlight and how to use Expression Blend, which was probably perfect for the audience.  

I was hoping for a few more examples of how to do some interesting effects with XAML.  I'm a design-challenged developer who was hoping to find a few more tips & tricks on how to leverage Expression to build a compelling user experience.  The reflection example was good, but it left me eager to learn more.

Applying and Leveraging LINQ:  When you should, when you shouldn't, and Why, Part 1

Richard Hale Shaw was the celebrity presenter at this code camp.  I remember first seeing Richard at the 1992 Software Developer Conference in Santa Clara, CA.

I was already familiar with the LINQ stuff that he presented during this session, yet it was still fun to watch him present.  I wish I'd been able to see the second part which would probably have gone deeper into things that I wasn't as familiar with about LINQ, but I was just glad to see him again after all these years.

Developing Applications using Live Framework

Dmitry Lyalin presented the Live Services Framework and how it fits into the Azure Services Platform.  I was particularly interested in Dmitry's presentation because I knew that he was going to be presenting some of the interfaces of Live Mesh that aren't available to everyone yet, including an early look at the Silverlight integration.

As usual, Dmitry did a great job with his presentation.

WCF + Silverlight

Alan da Costa Pinto did great job presenting WCF and explaining why you want to use WCF instead of ASMX for your .NET web services.   He then did a quick introduction to Entity Framework so that he could show how to rapidly generate service using WCF and ADO.NET Data Services (aka "Astoria").  Finally, he hooked it up to a simple Silverlight application.   While many of Alan's examples were rough, I think the cool part was that he was able to demonstrate how little effort you need to do to get something basic in place using these technologies.

Parallel Extensions to the .NET Framework

Louis Hendricks covered the Parallel Extensions that are being rolled into .NET 4.0.  This is the first chance that I've had to take a look at these extensions so this was particularly informative for me.

If you're interested in learning more, it's too late to attend Louis's session, but there is more information at these PDC Sessions:

PDC Content all in one place

If you want to be able to find all the PDC sessions and Power Point slides all in one place, check out Mike Swanson's blog:

If you'd like to download them all to your local machine, check out this post by Luciano Evaristo Guerche:

You can find the Firefox addon here:

Thursday, November 6, 2008

Visual Studio Training Kits

newdotnet I've been posting a lot about the announcements from the Microsoft PDC 2008, including Windows Azure, the Live Services Platform, and Oslo. 

What if your skills are still back on an earlier version of .NET?  Is there a good way to catch up quickly?

Microsoft has previously created Quick Starts to cover the core concepts in .NET 1.x and 2.0.  More recently, they have published various training kits.  Here's where you can find them online:

Microsoft also has another site, MSDN Ramp Up, which is designed to quickly get developers up to speed on the latest version of the .NET Framework.

What is Microsoft "Oslo"?

I wanted to post about what Microsoft code name "Oslo" is all about, but I just read a post by Aaron Skonnard who already has described it more clearly and eloquently than I could, so I'll just point you to his post:

For a fun introduction, here's a short video from Models Remixed:

Wednesday, November 5, 2008

Liberation Day - 6 November 2008

Liberation Day

If you still have a thirst for more information about Windows Azure and the Live Services Platform and don't have an early bed time, you might want to stay up to hear Steve Ballmer, Tim Sneath, and Gianpaolo Carraro tomorrow night at 11:30pm Eastern US Time.

The three of them will be presenting a key note for the Liberation Day developer conference tomorrow in Sydney, Australia (hence the reason for the late time--it is actually 3:30pm Eastern Australian Time)

Sunday, November 2, 2008

PDC 2008 - "Oslo" Sessions

Tonight I finished viewing the "Oslo" sessions from the PDC last week.

So what is "Oslo"?  As pre-announced by Doug Purdy and Don Box, "Oslo" is

  • A textual language, "M" for authoring models and DSL's.
  • "Quadrant", which is a visual design surface for visualizing your models.
  • A repository for storing and sharing your models.

What is Oslo 

If you're interested, you can watch them online.

After you're done watching, if you're interested in learning more you can download the "Oslo" SDK October CTP from the MSDN "Oslo" Developer Center.


A lot of people think that this is all cool stuff, but are having a difficult time grokking why it is important. I'll try to explain why I'm excited about this new technology in another post later this week.

Thursday, October 30, 2008

First PDC Sessions Online

Some of the PDC Sessions have started to come online, and I had a chance to watch a few of them.

The Future of C# - Anders Hejlsberg

Anders did a great job (as usual), explain the next phase of evolution of our favorite .NET language.  Many of the changes are being driven by a need to improve interoperability and usability when communicating outside of the strongly-typed, managed world of pure C#.  I especially loved his self-deprecation when he discussed adding optional parameters to C#.

ASP.NET 4.0 Roadmap - Scott Hunter

Scott did a good job, but this was the least interesting of the sessions I saw today.

Scott covered AJAX improvements, integration with jQuery, ASP.NET MVC, and the Dynamic Data Features.  I was disappointed that he zipped through the WinForms improvements.  It doesn't seem like much new is planned on that front despite Microsoft ensuring that they wish to continue to develop both WinForms and MVC.

A Lap around Azure - Manuvir Das

I've not heard of Manuvir before, but I thought his presentation was excellent, and covered everything that should have been part of the keynote on Day 1.  If you want a great Azure 101 introduction, including the why and how, this is a good place to start.

Developing and Deploying Your First Windows Azure Service - Steve Marx

Steve did a very hands-on introduction to what it is like to develop your first Azure service application.  He started with the same Hello, World application from his part in the keynote, but went a little deeper into the explanation.  The most important part of this part is that developing a service can be almost the same as developing an ASP.NET web application, so your existing developer skills transfer well.  This doesn't mean that only ASP.NET works, though.  There is already support for other managed applications and support for native applications, like PHP and C++ is planned before the commercial release.

Then, he showed how he used the ASP.NET MVC to create his own blog and host it on Azure.

Again, most of the focus was on standard ASP.NET MVC stuff, but with this example he was able to show how access to storage services need to change in order to scale appropriately on Azure.

A Lap around "Oslo" - Douglas Purdy

Since I've been very interested in Domain-Specific Languages (DSL's) and modeling, I've been keeping a close eye on this project.  I really wanted to watch Chris and Gio's session, too, but sadly it hasn't posted to the web yet.

Doug did a great job, though, explaining what "Oslo" is and then he dug into the tools and the code.  It was a very good introduction, which will probably help when they finally do post the "Oslo": Building Textual DSLs session tomorrow.

Wednesday, October 29, 2008

IASA New York - Azure Services Platform

Last night I attended the meeting of the International Association of Software Architects (IASA) of New York.

At last night's meeting, Bill Zack and Keith Pijanowski spoke about new cloud computing platform announced by Microsoft this week.

Keith started out with a great overview of the business case for cloud computing, using the digitalization of the music industry as a clear analogy to how Microsoft, Amazon, and Google are hoping to transform the software industry.  He did a great job of filling in a lot of the back story that was missed during the PDC Keynote on Day 1.

Bill then gave his rendition of "A Lap around Azure" for everyone in his own style, doing a great job giving an overview of the architecture and the building block services being launched this week.

There were a lot of great questions and discussion and it was great to be able to ask some of my own questions, too.

Bill & Keith, you did a great job!  Thanks again.

Tuesday, October 28, 2008

Getting Started with Azure Services Platform

The Azure Services Platform portal opened this afternoon and the downloads below became available.

UPDATE:  I've updated the links below to point to the new January 2009 release of the Azure SDK and Tools.   If you wish to learn more about what is new in this release, check out Jim Nakishima's post for more details.

One caveat with the new CTP:  it doesn't work with the Windows 7 beta.

One of the new features in the January CTP is Silverlight debugging support.  You can find a post on how to enable it here.

Download the code

Register for Services

After installing the tools, you will be able to work on a local instance of the cloud and begin writing code and debugging it locally.  However, in order to publish your code and test it, you need to first register for the services.

Log in with your Live ID and apply for access to the services CTP.

Microsoft is rightly giving first priority to those who paid for the conference registration, but I received my token in a few hours.

There will be two emails.  The first will contain the token and the subject will start with "!!Do Not Delete!!".   The second will contain a link where you can enter the token to gain access and provision your new CTP account.

You can still work locally while you wait for your token.

Dig in and learn

There are a lot of resources online to start.

Azure Services Platform Rude Q&A

When pitching Azure Services Platform to your manager or client for your next big project, or even sharing with your fellow technologists, how do you best prepare for their rough questions?

Usually when Microsoft launches a new technology, or even pitches it internally to executives, they typically assemble a Rude Q&A to summarize the expected rough questions and to be prepared with answers--think Hard Ball with Chris Matthews for technology instead of politics.

Tonight I did a quick Google search for a Rude Q&A for the Azure Services Platform, but I came up empty-handed.  I'm sure the Microsoft guys have one, but since I've not seen it I've decided to write my own.   For now, I'll start with my initial questions, and then I'll later update it with more and with appropriate answers.

PLEASE NOTE:  I'm obviously excited by this technology, so don't perceive this as an attack on the Azure Services Platform.  Rather, it's a way to ask the appropriate questions to ensure that answers exist and are easily communicated so that the platform can succeed.

To get a good start, I went to Slashdot, the epitome of Microsoft critics.  Please feel free to add your own questions in the comments and I'll add them to the post when I update it.   Microsoft employees, if you want to provide answers, I'll add them as well.

UPDATE: I've added my answers to the Rude Q&A.  These are my opinions only.  When I hear a more official answer from Microsoft, I'll add their feedback with mine.

Q:  Microsoft Windows has a perception of being an unstable and unreliable operating system.  Why can I trust Windows Azure to host my applications without an Azure Screen of Death?

Erik's Answer:  Windows' Blue Screen of Death is almost always a result of either failing hardware or a bad device driver.  This is part of the cost of having an operating system that is open to lots of different types of hardware.

Next week is WinHEC and Microsoft will be talking to hardware vendors about what is required to be certified for the new versions of Windows.  In order to be Certified for Windows Azure, the guidelines are going to be much stricter than for any previous version of Windows.   Because Windows Azure will only be running in Microsoft's Data Centers, you can be assured that Microsoft will ensure that all of the hardware is Certified for Windows Azure before it can be added to the data center.

In addition, you will have a Service Level Agreement with Microsoft for your application.  There will be financial consequences for Microsoft if they fail to meet the guidelines of the SLA.

Q:  By choosing to use the Azure Services Platform, am I required to host my applications on the Microsoft Data Center?  Or can I choose to host my application with third parties like Amazon and Google?

Erik's Answer: I spoke with one Microsoft employee who said that Microsoft will be working with 3rd party data centers, so there could be other authorized data centers that could host the Azure Services Platform. 

Whether or not Amazon or Google choose to host the Azure Services Platform is up to them, based upon customer feedback and their own business objectives.

Q:  Can I decide to change hosts later, if I feel that another host offers a better value proposition?

Erik's Answer: This question is clearly dependent upon the last one.  If there are 3rd party data center hosts, it should be possible to transition from one to another.  Like our cell phone carriers, though, there may be a service contract that stipulates when that can happen.

Q:  Microsoft is promising to build the Azure Services Platform on open standards, but as a company they have a mixed record on this.  How can we know that this is not just another opportunity for Microsoft to embrace, extend and extinguish their competition to hold onto their monopoly?

Erik's Answer:  Just as standards were required for the industrialization of gun factories, they will be required for the industrialization of the software industry.  Microsoft didn't always get this, but they seem to get it now.  Listen to them.  They've got religion about honoring standards.

Q:  Previous Microsoft PDC's have made big announcements where Microsoft was betting the company on a new technology, only to have the technology be shelved before release.   How do we know that Azure Services Platform isn't this PDC's Hailstorm or WinFS?

Erik's Answer:  Microsoft has invested billions of dollars to build the software and the data centers.  It would be very painful for them to fail.

Q: If my application is hosted on Microsoft Data Centers, how can I assure privacy for my code and data?  What are the penalties to Microsoft if there is a breach in privacy?

Erik's Answer:  Microsoft will have a privacy policy as part of the service contract.  In order to monitor the health of your application, Windows Azure will need to read the instrumentation data from your application, but this must be an automated process to scale.  If Microsoft does violate the privacy policy and you can prove it, you will  have a legal suit for breach of contract and the bad press would hurt their business.  In other words, it doesn't make good business sense for them to violate the privacy policy.

Q: By choosing Azure Services Platform, I'm giving over control to Microsoft.   How do I ensure that I have control over my application?

Erik's Answer:  You are giving up some level of control, but you can choose to start, pause or stop your service and switch to another platform anytime within the limits of your service contract.  In exchange for giving up some of the control, you gain greater scalability and availability than most small and medium companies can achieve on their own at a cheaper price.

Q: Microsoft has a great track record for availability of their web sites and services, but not perfect.   Even during the PDC, accessing has been slow and difficult to access due to the demand for information.   How can Microsoft assure high availability of my application, and what are the penalties to Microsoft when it isn't available and my business is interrupted?

Erik's Answer:  Microsoft's track record isn't perfect, but it is still better than most businesses.   Utility companies aren't perfect either; there are blackouts and brown outs locally and even occasionally regionally, but these are rare.

Your service will be guaranteed with a Service Level Agreement (SLA), just like it is with your other utilities.  There will be a financial consequence to Microsoft if they fail to meet the promised level.   Service contracts will probably be cheaper if you are willing to accept a looser SLA and more expensive if you want a stricter SLA.

Q: Microsoft has chosen to discontinue support for old technologies, like VB6 and FoxPro, forcing customers to upgrade or transition their applications to the new platform.  When this happens on my Data Center, I can choose to upgrade or not.  If I choose Azure and the Microsoft Data Center, is Microsoft going to force me to upgrade my applications when Azure 2.0 or 3.0 is available?

Erik's Answer:  Microsoft supported VB6 for a decade after it was replaced by VB7, so there will be plenty of time for you to transition your code.  If you're considering hosting your application in the Cloud, you're probably a pioneer of new technologies.  Do you really think that you'll want to stay behind on an obsolete technology like VB6? 

Monday, October 27, 2008

Visual Studio 2010 and .NET 4.0 CTP

The Visual Studio 2010 and .NET 4.0 CTP is now available for download as a Virtual PC image here.

The download is very large--11 parts of about 700 MB each, so make sure that you have lots of disk space available and expect this to take awhile.

I encourage you to install Free Download Manager first and use that to simplify the download process.

Get an early start with "Oslo"

The "Oslo" team has opened up their portal, so you can download the "Oslo" SDK and dig in and learn about how the "Oslo" tools work before Don Box's and Chris Anderson's keynote presentation tomorrow.

I just wish that they could have spoken today--it would have livened up a dull session.

p.s. It seems that Chris isn't hosted on Azure--the load is too heavy right now for me to access his blog.  Hopefully he'll move it soon.

NYC Learning Opportunities

There are several learning opportunities for .NET developers in the NYC region in the next few weeks.   Many, but not all of these will focus on Windows Azure and Silverlight.

TOMORROW, Tuesday, October 28 – Bill Zack will speak at Microsoft for the IASA NYC group on Windows Azure, Microsoft’s cloud computing platform. If you’re interested and want to attend, email NOW. Because of security requirements, they need to know before the end of the business day today if you want to come.

Saturday, November 8thFairfield / Westchester Code Camp all day at the Stamford Campus of the University of Connecticut School of Business.

Monday, November 10thALT.NET Meetup. Topic is still undecided, but you can vote for your choice.

Monday, November 10thMSDN Suburban Roadshow in Stamford, CT.

Thursday, November 13thMSDN Suburban Roadshow in Parsippany, NJ

Saturday, November 15th -  MobileNYC3, a local bar camp 

Tuesday, November 18th - New York .NET Meetup

Friday, December 5thMSDN Suburban Roadshow in NYC.

To find out more, keep an eye on Peter Laudati's blog.

Live Services Jumpstart 2009



For those interested in learning more about the Microsoft Live Services platform, Microsoft will be hosting a series of free, invitation-only two day conferences in several cities across the world.

If you're interested in finding out more and to register, go to

I will attending the San Francisco Jumpstart on December 4th and 5th.

PDC 2008 Keynote Resources

Here's some useful information, borrowed from the Windows Connected blog.

Keynote Streams

Keynote – Ray Ozzie, Amitabh Srivastava, Bob Muglia and David Thompson
Monday, October 27 11:30am-1:30pm Eastern Time

UPDATE:  The key note is available on-demand now using Windows Media Player via the links above or using Silverlight at the Microsoft PDC site.

Keynote - Ray Ozzie, Steven Sinofsky, Scott Guthrie and David Treadwell
Tuesday, October 28 11:30am-1:30pm Eastern Time

PDC 2008 Live Blog


UPDATE: Here's the transcript from the first keynote.


NotAtPDC-badge If you take a look at TweetScan this weekend, it's pretty clear that the hottest topic in the Twittersphere this week is the Microsoft PDC conference.

It looks like I'm not the only one bemoaning being unable to attend the Microsoft PDC this week.

It seems that several others have started a NotAtPDC group for the rest of us.

They have their own site, their own Facebook page, and their own Twitter identity.

I'm not sure what they actually have to offer this week, but it's definitely amusing.

UPDATE:  Several interesting virtual sessions have been posted on the NotAtPDC portal. The first sessions start later today if you're interested.

Technorati Tags: ,

Learn about Cloud Services in New York

Bill Zack is the Microsoft Architect Evangelist for the New York region, and is also one of the moderators of the local New York .NET Developers User Group.

Tomorrow night Bill is going to be doing a presentation at the New York IASA meeting.  If you are interested in attending, please email him before the close of business TODAY at

Bill is also dying to spill the beans on his blog, but is waiting very impatiently for the PDC announcement and is ready to burst with excitement.  I expect that he will be sharing a lot of new stuff there in the following weeks.

Peter Laudati is a Developer Evangelist for New York & New Jersey area.

Later this fall Bill and Peter will be doing an MSDN Suburban Roadshow in three cities in the area.  Bill will be covering developing Services in the Cloud, while Peter will be covering how to use Silverlight as the presentation interface to the Cloud.

If you're interested, register using the links below:

REGISTER STAMORD, CT 11/10/2008, 12pm-4pm, Connecticut Information Technology Institute University of Connecticut
School of Business 1 University Place Stamford Connecticut 06901

REGISTER PARSIPPANY, NJ 11/13/2008, 1pm-5pm, SetFocus Headquarters, 4 Century Drive Parsippany New Jersey 07054

REGISTER NEW YORK, NY 12/5/2008, 1pm-5pm, Microsoft Offices, 1290 Avenue of the Americas - 6th floor
New York New York 10104

Sunday, October 26, 2008

New Name

I've renamed my blog today to "Head in the Cloud, Feet on the Ground".

First, I have a confession.  I stole the title.  It was originally an article in Architect Journal, then a blog post by Gianpaolo Carraro, one of the authors, and later this week it will the the title of a Cloud Services Symposium at the Microsoft PDC on Thursday.

So, I'm not being very original, but I think it is apt.

I am very excited by the Microsoft Cloud Services platform being announced this week, so I will probably be focusing many of my posts on several aspects of the different layers of the platform, from Live Mesh and "Dublin" on the backend, to Silverlight and ASP.NET 4.0 for the user experience.

However, I think that the title also really captures well my philosophy of software development.  It's important to keep your "head in the clouds" and learn about what is new and exciting in the industry, and to dream of what might be, but it is also important to keep your "feet firmly planted on the ground", and focus on pragmatic solutions that can be delivered when needed.

Saturday, October 25, 2008

MSDN Developer Conference

Are you excited about all the content coming out of the Microsoft PDC, but don't have the cash in this recession to shell out $2400 and fly out to Los Angeles for the whole week? 

Yeah, me, too.

Fortunately, Microsoft understands and they really want to get you up to speed on their new Cloud Computing platform; after all, it's in their own best interest to bring developers onboard in order to make the platform succeed.

They are planning to bring a taste of the PDC to several major U.S. cities and will be hosting a one-day MSDN Developer Conference in for a mere $99

They mention "cool giveaways", too, which is probably marketing-speak for all the bits that you'll need to experiment and play with the technologies on your own after the conference, but I make no promises as to what will be included.

If you're interested, I suggest registering right away because space is probably going to be limited and I would expect these to fill up fast.

I'm already registered for the New York session, so I'll see you there.

12/9/08 Houston, TX
12/11/08 Orlando, FL
12/16/08 Atlanta, GA
1/13/09 Chicago, IL
1/13/09 Minneapolis, MN
1/16/09 Washington, DC
1/20/09 New York, NY
1/22/09 Boston, MA
1/22/09 Detroit, MI
1/26/09 Dallas, TX

San Francisco, CA


Microsoft PDC

I'm pretty excited about this next week.   Even though I will be in New York, I will be at the Microsoft PDC in Los Angeles in spirit.


Microsoft will be streaming the key note sessions live at

If you're like me and busy at these times, the sessions will be available on-demand later in the day.

Cloud Computing Takes Center Stage
Ray Ozzie, Amitabh Srivastava, Bob Muglia and David Thompson
Monday, October 27th, 11:30-1:30 pm Eastern

Building the Next Generation User Experiences
Ray Ozzie, Steven Sinofsky, Scott Guthrie and David Treadwell
Tuesday, October 28th, 11:30-1:30 pm Eastern

"Oslo" Modeling Tools
Chris Anderson and Don Box
Tuesday, October 28th, 2:00-3:30 pm Eastern

From the Lab
Rick Rashid
Wednesday, October 29th, 11:30-1:30 pm Eastern

The breakout sessions will also be available on-demand later this week.  Microsoft expects to post each session within 24 hours, but for the MIX conference, it took a little longer.

Here's a special shout out for my friend Gio's session, which according to Don Box should be one of the most popular this week.

I hope to be blogging a lot on the new platform after the details are revealed.

Wednesday, October 22, 2008

Universal Design Pattern?

Steve Yegge has a very interesting (and very long) post on Properties as the Universal Design Pattern.

I won't say any more--Steve says plenty.  Check it out.

Saturday, October 18, 2008

Fuerza Bruta - Boys Night

Last night I had a free ticket to see Fuerza Bruta (Español for "Brute Force"), from the creators of De Le Guarda.

I'd seen De Le Guarda, so I had an idea of what to expect.  Unlike most Broadway shows, you don't sit through the show.  You stand and move throughout the show and the show happens around you.

Much like Cirque du Soleil, the show is more visceral, with an obvious theme, but a vague story.  It touches your emotions deep below the surface.

It is difficult to describe the show except as living, embodied concepts:  frantic energy, chaos, crowded, intensity, beauty, sexy, calm, wet.

There were lots of images related to the corporate world which would be very familiar to anyone working in Manhattan, and the themes captured the chaos that is even more apparent in the current economic crisis.

It was an incredible show that is impossible to capture in words.  Maybe this video will give you a taste, but if you're in New York, go see it.  It's great.

Wednesday, October 15, 2008

Tough Economy, Tough Decisions

In my last post I mentioned that I chose to remain behind the firewall curtain and only post internally because my employer was a little uncomfortable with us posting publicly.

With that, you might think that perhaps I'm tempting fate by choosing to start a public blog.  After all, people have been fired for blogging about their jobs, right?

In this case, though, I need not worry.  My employer is not going to fire me for blogging.

The tough week on Wall Street last week has led our new CEO to go forward with a reduction in force and has closed the entire New York office, including me and nearly my entire team (I had one developer in Chicago who is still employed.)

I'd planned to start my public blog because I was interested in sharing my excitement about the Microsoft Cloud services anyhow, but now for the first few weeks at least, I'm going to be using my blog to share resources with my team.

Regarding the reduction in force, I am naturally sad and disappointed that it had to happen, but I understand it is purely a business decision.  It is not a reflection on the quality of the team of developers who I have worked with for the last five years, but rather on the cost of doing business in Manhattan during a deep economic downturn.

If you are reading this and have open positions in the New York City area, drop me a line and I would be glad to help you connect with some very talented and qualified ASP.NET developers.

Coming Out Day

I have been blogging for awhile now, but until today it was behind the corporate firewall.

I worked for a company that was uncomfortable with its employees blogging about their work. Our CTO had a blog, but he was asked by others to not blog anymore, so I decided that it was better to keep my blog internal and focus my blog to topics that were directly relevant to my colleagues.

Last Saturday was National Coming Out Day, so I decided that would be a great day to "come out" from behind the corporate firewall and start to share my ideas and thoughts more broadly.

I'll share more later this week, but for now I'd like to just like to introduce myself.

I am a software developer who has been programming professionally for 17 years.

I've spent the last five years building a web framework on top of ASP.NET to enable our company's product teams to build out extensible web applications for the insurance industry. You might think of our application as being to risk management what is to customer relationship management.

For the last four years I've shared the role of leading the team responsible for the application framework and shared components.
I've never found the insurance industry part all that interesting, but building a web application framework that supports custom plug-ins has presented some interesting challenges. Our team has been using ALT.NET ideas since the beginning of our project in 2003, such as a home grown ASP.NET MVC framework built on top of ASP.NET 1.x, and using Inversion of Control patterns to discover services that could be easily decorated and extended by our custom solutions.

This experience of building a shared framework for a hosted web application has been exciting, but it also makes me very excited about what Microsoft is posed to present at the PDC in Los Angeles.

For what it's worth, I'm also gay.  I've been out at work for my entire career, but I don't find it a very interesting or relevant fact in the workplace so I don't really make a big deal about it.  Since this post is about "coming out", though, I figured it might be appropriate to mention it.