Learn Windows 8 at a Windows 8 Developer Camp

You know it is coming. You have seen the fresh new interface. You have talked about the things you like, and maybe the things you don’t like. But, have you tried to write an application for it?

It is time to change that. Coming to Columbus on Thursday, April 26th is a Windows 8 developer camp. This promises to be a great opportunity to get hands-on experience developing an application for Windows 8.

To learn more, and sign up for this free, full day event, just click here.

Additional Windows 8 Developer Camps

Note: This is being cross-posted at www.coccug.org

Detroit Day of Azure

I’m thrilled to be speaking at the Detroit Day of Azure on Saturday, March 24th.  This is going to be a one day event that will cover many areas of the Windows Azure platform.  I’ll be giving two presentations, “The Hybrid Windows Azure Application” and “Windows Phone 7 and Windows Azure – A Match Made in the Cloud”.

Check out this speaker lineup!

  • Dennis Burton
  • Jason Follas
  • John Ferringer
  • David Giard
  • Joe Kunk
  • Jennifer Marsman
  • Jeff Nuckolls
  • Brian Prince
  • Mark Stanislav
  • Brent Stineman
  • Mike Wood

That’s a pretty impressive list of Windows Azure MVPs, Microsoft evangelists, and cloud gurus.  This is going to be fun!!

Registration is now open at http://detroitdayofazure.com/.  You can get in on the early bird pricing now for just $10.  That’s a great deal!

2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about 9,900 times in 2011. If it were a concert at Sydney Opera House, it would take about 4 sold-out performances for that many people to see it.

Click here to see the complete report.

Looking forward to CodeMash 2012

I’ve spent some time this week looking back on 2011 and preparing for a few initiatives I want to get done in early 2012.  As I was looking through my calendar for the next month, I noticed a nice gem coming up in a few weeks – CodeMash 2012!

I’ve been attending CodeMash since the conference’s start in 2007. It’s been really exciting to see the conference grow from a somewhat small regional conference to what is really now a fairly major national event.  Heck, CodeMash sold out in around 20 minutes this year!!  Attendees come from all over the U.S.  I believe some speakers are even coming from overseas this year.  All this for a technology conference in Sandusky, OH in January – wow!!!

So why am I so excited about CodeMash again this year?  For starters, just take a look at the session line up!  There are some great speakers and topics.  I’m starting to prep my “must see” list for CodeMash, and a few sessions I’m really looking forward to checking out are:

The keynote sessions by Ted Neward and Barry Hawkins also look to be really great!  Besides the great sessions and keynotes, the side hallway conversations with the crazy smart CodeMash attendees are always invaluable!  Some would go so far as to say it is the side conversations themselves that are the reason they attend CodeMash.

This year I’m happy to be attending CodeMash as a member of Neudesic.  When I joined Neudesic earlier this year, I made it a point to spread the word about CodeMash.  I’m very pleased to have a few of my Neudesic colleagues joining me at CodeMash this year.  Joining me this year are Monish Nagisetty, Bryce Calhoun, and Ted Neward.  All of us are really looking forward to meeting all the smart folks at CodeMash and experiencing all that CodeMash has to offer . . . like the bacon bar!

If you would like some quality one-on-one time with Ted Neward, or other Neudesic rock stars who can answer your most pressing questions, at CodeMash, I’d definitely encourage you to do so.  Ted’s always a blast to talk with!  He’s a crazy smart guy with great insights into today’s technology issues.  Kelli Piepkow is coordinating all the logistics for those meetings, and you can reach her here.

The CodeMash countdown is on.  Less the 2 weeks to go!!

Learn Windows Azure

On Tuesday, December 13th Microsoft is hosting a special all day event for Windows Azure developers.  This special event is free to attend in you can make it to Microsoft’s Redmond campus.  Or, you can watch it all LIVE via Channel9.

The day will kick off with Scott Guthrie giving a 90 minute keynote on Windows Azure where he’ll demonstrate just how easy it is to build applications with the Windows Azure platform.  I’m sure he’ll have lots of good demos (as Scott’s keynotes normally do), so this will be a great way to start the day!

Other Microsoft cloud gurus such as Dave Campbell and Mark Russinovich will also be at the Learn Windows Azure event.  It’s not very often you get guys like Scott Guthrie, Dave Campbell, and Mark Russinovich together in one place to talk about Windows Azure, so this is pretty exciting!

If that’s not enough, the popular Channel9 show Cloud Cover will be live from the event as well!  Steve Marx and Wade Wegner will have more amazing and fun demos to share.

Be sure to register now and get this added to your calendar!  I did.

Speaking at MidWest Cloud Computing User Group – Tuesday, Sept. 20th

There is a new cloud computing user group coming to the Chicago area!  The Midwest Cloud Computing User Group (MWCCUG) is kicking off on Tuesday, September 20th!

I’m honored to helping to kick off what I’m sure is going to be a passionate user group.  As this is the first user group meeting, my presentation will be somewhat introductory.  We’ll be discussing the what, why, and how of Windows Azure.  If you’re curious as to what all the hype is around Windows Azure, why Windows Azure is playing an important role in the IT landscape, and how you can get involved, then you’ll want definitely want to attend.  Or, if you already know all this stuff, then still come on out, say “hi”, and do a little networking with others passionate about cloud computing and Windows Azure.

Please go here to learn more and to register.


6pm – 8pm (Central)


Highland Pointe Conference Room
333 E. Butterfield Road
Lombard, IL 60148

Creating My First Windows Azure AppFabric Application

Microsoft recently made available the Windows Azure AppFabric June CTP to get started developing Windows Azure AppFabric applications.  Read the announcement post from the AppFabric Team for a good overview of the Azure AppFabric application model.  Be sure to download the CTP SDK too.  You can also get a FREE 30-day Windows Azure pass at http://bit.ly/MikeOnAzure, using the promo code “MikeOnAzure”.

Once you have the SDK installed, you’ll want to get started creating your first Azure AppFabric application.  Launch Visual Studio 2010 and create a new project.  In the New Project Template wizard, you’ll see a new “AppFabric” section.  You might have expected the Azure AppFabric projects to be located under the “Cloud” area, as that is where the other Azure project templates are.  I did too.  My assumption here is that this is CTP and the location of the templates are likely to change before final, or that Microsoft is looking to further merge the AppFabric’s (Windows Server and Windows Azure), thus making the choice a deployment target and not a specific type of project.

For the purposes of this walk-through, I’m going to create a new “AppFabric Application”.  I’ll pick a cool name for my project and let Visual Studio create it.  This will create an empty AppFabric Application in which I can start to add my services/components.  There are a few oddities with the new project, and I will chalk this up to being an early CTP.  The first is that there is no visual indication that the project is an “AppFabric” application.  For instance, the project icon doesn’t contain the “AppFabric” icon overlay that is on the New Project template selection.  The second thing I find odd is the “App.cs” file.  At first glance, this looks like a regular C# file.  There’s no visual clue that it is a special type of file.  Double-clicking on the App.cs file will open the Design View for your AppFabric Application.

I can now add a new service by clicking on the “Add New Service” link/button in the upper-right corner of the Design View window.  In this case I’m going to add a new ASP.NET MVC2 project.  When that is done, the standard ASP.NET MVC2 project is added to the solution.  Since I’m adding this application as part of a Windows Azure AppFabric Application, Visual Studio automatically adds a few new assemblies related to hosting my web app in the AppFabric Container.  The new assemblies for the AppFabric Container are:

  • Microsoft.ApplicationServer.ApplicationModel
  • Microsoft.ApplicationServer.Web
  • Microsoft.ApplicationServer.Web.Hosting

The Design View will also update to reflect the addition of my new ASP.NET MVC2 application.  From there I can tell that my web app contains one endpoint and it does not reference any other services.

At this point I’m ready to go.  To see the basic setup, I select “Start without debugging” (or press CTRL + F5) from the Build menu.  There is no F5 debugging option in this CTP release.  Visual Studio will kick of the build and deployment process.  I can view the deployment output in the Output window.  Notice here that Visual Studio is starting a new emulator, the Windows Azure AppFabric Emulator.  Visual Studio will also start the standard Windows Azure compute and storage emulators.

From the Output window I can see the Application Id for your deployment.  Also of interest is the path to the various log files that are created as part of running in the Windows Azure AppFabric container.  It is my assumption that these log files would be similar to the logging available when running the application in a production Azure AppFabric container (upcoming post to walk-through that process).

Visual Studio will also launch a new console window that includes in the title the Application Id for your application.  This is the new emulator for Windows Azure AppFabric Applications.  Right now it’s pretty rough-looking – I’d expect it to get better before the final release.  I don’t see a whole lot here while the application is running.  I did notice the first time I started the application that the web browser (if creating a web application) will launch and Visual Studio will report the app is deployed and ready a little prematurely.  In that case, wait until the AppFabric Application emulator reports the app is ready and then refresh the browser.  I only noticed this on the initial deployment for the application – subsequent deployments seem to work as expected.


Now I would like to add a new SQL Azure “service” to my application.  Notice that the component is supposedly a SQL Azure service, yet the description indicates a SQL Server database (nearly any variant).  Possibly a CTP issue?

At this point Visual Studio will set up the SQL Azure information for me.  The design view will indicate a new SQL Azure instance is available, and viewing the Properties will allow me to set the database name, connection string, and actions to take against the database upon deployment and tear down of the application.  I did notice the provisioning process did not create the database for me as I would have expected.  (UPDATE: Learned from Neil MacKenzie’s recent post that the SQL actions to provision and de-provision apply only if using a DAC pack.)  Also, the default setup is to use SQL Express, not SQL Azure.  Although changing to be SQL Azure should be a simple connection string change.

Now I need to wire up the connection between my web app and the database.  To do so, simply add the SQL service as a Service Reference.

At this point, I can easily add some code to query my newly created database (note that I created a database manually and configured the connection details in the Properties panel). 

using (SqlConnection sqlConnection = ServiceReferences.CreateSQLAzureImport())
 var cmd = sqlConnection.CreateCommand();
 cmd.CommandText = “SELECT top 1 ProjectName FROM Project”;
 cmd.CommandType = CommandType.Text;
 result = (string)cmd.ExecuteScalar();

At this point I can press CTRL+F5 to run my application.  I expected my home page to show some data from my SQL connection.  Instead, I was greeted with an error message stating that I didn’t have permissions to access the database.  That’s odd . . . I’m an admin on the machine!

Applications running in the AppFabric container run under the NT AUTHORITY\NETWORK SERVICE security context, and as such don’t have many rights.  I changed the SQL connection string from the default Integrated Security to instead use SQL authentication (by setting User ID and Password properties).

To complete my fun little app, I decided to add a reference to Windows Azure AppFabric Cache to cache data instead of hitting the SQL Azure database each time.  To use it simply entered my cache authorization token and cache service URL in the service properties panel.

The code to work with AF Cache in an AF Application is pretty darn easy.

DataCache cache = ServiceReferences.CreateDataCacheImport();
time = cache.Get(“time”) as DateTime?;
if (time == null)
      time = DateTime.UtcNow;
      cache.Add(“time”, time, TimeSpan.FromMinutes(5));

When done, the deployment diagram for my simple app looks like this:

Overall, I’m pretty happy with this first CTP of the Windows Azure AppFabric Application SDK.  It has it’s rough edges, but it’s pretty nice overall.  I can definitely see the value-add and the direction looks really good.  Exciting!!

In an upcoming post I’ll walk through the process of deploying this application to the Windows Azure AppFabric container.