Archive

Posts Tagged ‘azure’

I’m Back!

September 7th, 2010

After my last post I unplugged…completely unplugged…for three months! I did this for several reasons, but the main one was that I felt the noise to signal ratio I was getting from a number of inputs was way too high. I was overloaded with, what turned out to be, primarily meaningless, unactionable information. I’ve also been moving into a new role at my company, and the demands the role has placed on me requires me to be very efficient with my time. Spending my time sifting through information to separate the wheat from the chaff is a luxury I can no longer afford. To that end, I spent the past three months digesting J.D. Meier’s new book Getting Results the Agile Way and coming up with a strategy for making the best use of my time. There are several practices that I’ve come to rely heavily upon:

  1. Daily results The goal is to identify three, AND ONLY THREE, important outcomes that you want accomplish in a given day. Often times we try to accomplish more than we can in a given day, leaving us with a feeling of failure. The reality is that we’re simply failing to focus. By limiting our daily scope we can actually get more done.
  2. Brain dumps The goal is to factor your thinking from your chatter and reminders. At it’s essence, you simple take anything, and everything that is on your mind and write it down (either to physical or digital format – I prefer OneNote & Evernote). The result is that you relieve yourself of a certain psychic weight that enables you to focus on the important things.

I also hold a daily personal standup meeting. I know it sound a bit silly, but it helps me focus on my priorities for the day. Spending just 10-15 minutes to plan each day has helped me get a better handle on the day’s tasks.

During this three month period I also had the goal of getting a grip on my email. Like many of you I have a number of email accounts. Between my corporate, client, and personal email addresses, I have over 10 accounts to maintain. That can be a lot of information coming from a lot of different directions at the same time. Unfortunately, due to various, client firewall policies, consolidating these accounts into a unified inbox with something like Exchange Web Services {LINK} isn’t an option. I figured the best approach would be to process messages the same way for each account. I also set a standard of having zero emails in my inbox at the end of each day. To accomplish this, I once again turned to J.D. Meier. In case you don’t know who J.D. is, he is a legend within Microsoft for getting things done. The guy is a machine. He multi-tasks better than anyone I’ve seen. Several years ago J.D. wrote a blog entry on the Zen of a Zero Mail. I took his general approach, made some customizations based on personal work style, and applied to each my email accounts. I’m happy to say that as of today I’ve been experiencing the Zen of a Zero mail for a solid two months.

With all of that said, just because I’ve been silent here and other places, doesn’t mean I haven’t been busy. I’ve been spending a fair portion of my time getting immersed in Windows Phone 7 development. I have a couple apps that are near completion, and a couple of more that are in the early phases of development. I’ve also been working with J.D. Meier and the Patterns and Practices team at Microsoft on the following projects:

  1. Microsoft Developer Guidance Maps. The Microsoft Developer Guidance Maps Project is an effort to create a model and a map of resources for developer guidance. The goal is to simplify as well as better organize and share our catalog of developer guidance resources. We’re using this catalog as a way to model, prototype, and test ways to find, organize, and share developer guidance in a meaningful way. As part of the exercise we’ll be creating and sharing our maps of pointers to useful code samples, how to’s, videos, etc. for the Microsoft application platform.
  2. Windows Azure Security Notes. This is a collection of our notes and learnings from exploring the cloud security space and working through Windows Azure security scenarios.

There are also a couple of projects I can’t talk about just yet, but they bring together Microsoft’s cloud and mobile platforms in some very interesting ways. As these projects progress and clients are willing to share a bit more you’ll be the first to know.

I’ve also been busy prepping content for the following presentations I’ll be giving this fall/winter:

  1. Heartland Developers Conference
    • Silverlight Bootcamp
  2. Minnesota Developers Conference
    • Introduction to Windows Phone 7 Development
    • Tablets: The iPad and the Future of Mobile Computing
  3. Twin Cities Code Camp 9
    • Multi-targeting WPF, Silverlight, and Windows Phone 7
    • Getting Down with MEF – Silverlight Edition
  4. Twin Cities .NET Developer User Group
    • Getting Down with MEF
  5. Twin Cities Developers Guild
    • Getting Down with MEF – Silverlight Edition
  6. Twin Cities Cloud Computing User Group
    • Windows Azure Security Guidance

(I hope to see you at a least one of these great events).

I’m also working on a screencast series that I’m tentatively calling "Silverlight Sprints". It’s an adaption of my Silverlight Bootcamp class. The goals is to have a series of episodes (no longer than 10 minutes each) that will get you up an running with Silverlight development (both for the desktop and Windows Phone 7). The content and code for the series is complete I just need to sit down and record it.

Finally, I’ve also been asked to co-host this year’s season of the Spaghetti Code podcast with Jeff Brand. The format is going to be different than in seasons past. Each month we’re going to talk about what’s new in the Microsoft development space. Our first episode is up and you can listen to it here. Let me know what you think!

That’s it for now, but they’ll be a lot more coming soon. Stay tuned!

adam Uncategorized , , , , ,

Live @ MIX10

April 9th, 2010

While I was at MIX10 last month, I was interviewed by some various Microsoft folks. In these interviews I discussed building community around Microsoft’s cloud platform, specifically Windows Azure and Project Thor. The first interview with Social Wendy is up. You can view it below or check it out on Vimeo.

adam video , , , ,

Upcoming Cloud Computing Events

March 10th, 2010

I just wanted to make you aware of the meetings planned for the Twin Cities Cloud Computing User Group for the next 4 months. These are some great topics and speakers that you’re not going to want to miss.

April 8, 2010
Dynamics CRM Online
Presented by Shikhar Agarwal, Sogeti
Register here

May 13, 2010
Custom Applications and SharePoint Online
Presented by Frank Shink, Magenic
Register here

June 10, 2010
SQL Azure
Presented by Mike Benkovich, Microsoft
Register here

July 8, 2010
Azure Storage
Presented by Brent Stineman, Sogeti
Register here

Hope to see you there!

adam Community, azure, cloud computing, sql azure , , ,

Version 1.1 of Thor is Released

February 22nd, 2010

I’m pleased to announce that version 1.1 of Thor has been released. Here’s a summary of what’s new in this release:

  • Specify whether or not to display the subject of appointments on a calendar
  • Specify whether or not to use a booking agent on a calendar by calendar basis
  • Specify whether or not a calendar requires authentication to view and/or book appointments
  • Specify whether or not to display a given timeframe for a calendar
  • Highlight the current time in a calendar
  • Only passwords are encrypted when persisted to storage
  • The logo for the website was changed from a .png to a .jpg to accommodate Windows Mobile
  • The provider assembly dropdown only displays assemblies that contains type that implement ICalendarProvider
  • The provider type dropdown only displays types that implement ICalendarProvider

You can dowload all the goodness here.

adam Community, azure, thor , ,

Version 1.0 of Thor Is Released

February 17th, 2010

I’m pleased to announce that version 1.0 of Thor was released on February 15th, 2010. The release includes the following downloads:

  • thor.deploy
    • Contains the necessary deployment package and service configuration file required for deploying Thor to Windows Azure.
  • thor.exchange.interop.exchange2007
    • Contains the assemblies required for enabling Thor to communicate with Microsoft Exchange Server 2007 via the Exchange Web Services Managed API.
  • thor.exchange.interop.exchange2010
    • Contains the assemblies required for enabling Thor to communicate with Microsoft Exchange Server 2010 via the Exchange Web Services Managed API.
  • thor.exchange.webservices
    • Contains the assemblies required for enabling Thor to communicate with Microsoft Exchange Server via Exchange’s native web services.
  • thor.source
    • Contains the source code (Change Set 43071) for version 1.0 of Thor.

You can download the bits here.

Check out the screencast below (brought to you by Silverlight and the Simple Silverlight Media Player) on how to deploy, configure and run Thor in Azure:

Install Microsoft Silverlight

I’ve also stubbed out some documentation here. There’s no content, yet, but I promise it will be coming over the next couple of weeks.

adam thor, video , ,

WCF RIA Services, ASP.NET MVC, and Windows Azure Assemblies

February 3rd, 2010

In my previous post I talked about some of the pain points I went through with Windows Azure and setting “Copy Local” appropriately on referenced assemblies. I thought I’d do a quick post to let you know which assemblies, other than my own, I ended up marking as “Copy Local”. As you’re aware Project Thor uses technologies such as Azure storage and diagnostics, ASP.NET MVC, and WCF RIA Services. If you’re using these technologies you’ll need to make the following assemblies are flagged as “Copy Local”:

Azure Storage and Diagnostics
Microsoft.Windows.Azure.Diagnostics
Microsoft.Windows.Azure.StorageClient
Microsoft.Windows.Azure.CloudDrive (new in the February release)

ASP.NET MVC
System.Web.Mvc
System.Web.Routing

WCF RIA Services
System.ComponentModel.DataAnnotations (for version 3.6.0.0 only)
System.Web.DomainServices
System.Web.Ria

Hope this helps.

adam asp.net mvc, azure, thor, wcf ria services , , ,

Copying Local with Windows Azure

February 3rd, 2010

So, I finally got Project Thor to a state where I felt comfortable deploying it to the Azure staging environment. After packaging it up, uploading it to the portal, pressing run, I waited with baited breath as my web role and worker role fired up. And I waited, and I waited, and I waited. Both roles went from Initializing to Busy to Stopping to Stopped. Of course, they work on my machine without problem. FAIL!

I have a bunch of logging in place, but the roles weren’t even getting to the point where they could log messages. After doing some digging on the Azure forums I came across this post. The underlying idea is that my apps were missing referenced assemblies. I saw this as a pretty good possibility as my apps are loosely coupled and I’m actually dropping assemblies into various directories as part of a post build process. However, my assumption was that the CSPack command line utility was simply packaging up the web and worker role directories for deployment. I wanted to verify my assumption was incorrect before proceeding, but since the package created by CSPack is encrypted there’s no way for me to verify the contents. Or is there?

Enter Jim Nakashima. Jim has a great poston how you can force CSPack to create unencrypted packages. After following the steps in the post and creating the unencrypted package, I dug into it to examine the contents. Sure enough, the assemblies I was dropping into my web and worker role directories weren’t getting packaged. After reading this post by JimI understood why. If I want to include the files in the package they need to be associated with the projects. This is kind of a bummer as I wanted to maintain the loose coupling, but I was willing to sacrifice it for the time being. I added the necessary references to my worker and web roles projects, packaged, uploaded, pressed run, and waited, and waited, and waited. Same thing as before. WTF?!

This post mentions to make sure you have “Copy Local” set to true for your assemblies. OK. Fine. No problem. I went through the web and worker role projects and set all references to “Copy Local” = true, packaged, uploaded, pressed run, and waited, and waited, and waited. OK, progress. The worker role started up, but the web role continued to fail.

I’m not one to typically post a problem on a forum as I like to go through the pain of solving them myself (helps me not to forget). However, at this point I was at my wit’s end. I posted the problem to the Azure forums, making sure to give Microsoft permission to open up my VM for diagnostic purposes.

After a couple of back and fourths, the problem became clear. I had marked all assemblies in my web and worker roles with “Copy Local” = true. However, I’m running a 32 bit dev machine (I know, I know I need to upgrade, but this laptop rocks, but that’s another post), and the cloud runs 64 bit. As a result, the 32 bit assemblies that were included in my package were failing to load as they weren’t 64 bit. Makes perfect sense! OK, so which assemblies are loaded in the cloud and which do I need to set to “Copy Local” = true? The answer lies here, but I’ll summarize it for you:

The cloud has a default installation of .NET 3.5 SP1, plus the Microsoft.Windows.Azure.ServiceRuntime.dll. This means you can refer to C:\Windows\Microsoft.NET\Framework64 on your own machine. All the assemblies available in v2.0.50727, v3.0, and v3.5 should be available on the cloud machines.

Many thanks to Yin-Lun Luo and Toddy Mladenov for the help.

Given the several valuable lessons I learned, I would once again say that Project Thor is living up to its mission.

adam azure, thor ,

Azure Deployment and Maintenance

February 1st, 2010

I’m going to be speaking on Azure Deployment and Maintenance at the Twin Cities Cloud Computing User Group on February 11th. Here’s the abstract for the session:

So, you’ve created your first Azure application. Now what? In this session Adam Grocholski joins us to to help walk us through moving our Azure applications from our local development environments to the cloud. Areas to be discussed include:

  • Creating Azure services
  • Preparing your application for deployment
  • Packaging your application for deployment
  • Deploying your application to Azure’s staging environment
  • Moving your application from Azure’s staging environment to production
  • Upgrading your Azure application
  • Creating deployment and maintenance scripts with Powershell

You can register for the session here.

Hope to see you there!

adam azure, cloud computing ,

Hello Azure!

December 1st, 2009

Tonight I gave a talk on Azure to the Dubuque Iowa .NET User Group. The talk was an overview of Microsoft’s cloud platform with an emphasis on Azure. The demos show how to start developing with Azure, using Web and Worker Roles along with various storage mechanisms (i.e. tables, blobs, and queues).

 To run this code you’ll need the following installed on your machine:

Optionally, you want to also install the Azure Storage Explorer to make working with Azure storage on your local machine a bit easier.

You can download the slide deck and code here.

adam Community, azure, cloud computing, presentations, windows azure , , ,

What’s a Backstage Pass Without a Great Band?

November 19th, 2009

As you’re aware I’ve been working in conjuction with RBA Consulting and Microsoft to put together and event on December 8th entitled Backstage Pass: A Day in the Microsoft CLOUD. We’ve got some great speakers lined up, like Jack Calhoun, along with some great giveaways, including a Zune HD. However, I felt like something was missing. After all if this is a backstage pass event, shouldn’t there be band, a really great band? How about the biggest band in the world today! How about U2? That’s right U2!

I’m excited to announce that RBA Consulting is going to be giving away a pair of tickets to the U2 concert on June 27, 2010 at the TCF Bank Stadium on the University of Minnesota campus. These are field level tickets to what is going to be the biggest concert of the year.

If you want a shot at these highly sought after tickets you must be present at the event to win. Be sure to register here.
See you there!

adam azure, cloud computing ,