Monday, November 24, 2008

Windows Azure Developer Starter Guide

Recently, I started to look into development on the Windows Azure CTP platform with the release of the SDK.  I am going to write a developers guide to getting started with Azure CTP.  Let’s get started!

  • Software Requirements:
  • Once you have all the required software on your machine, you need to install the SDK and the VS plug-in. The plug-in adds a project template to VS so that you can create a project with the appropriate web and worker roles.
  • The SDK installs two main working components: The development storage service and the Azure fabric.  These two components have UI monitoring tools that allow you to view process/tracing information and service statuses.  You can manually start these services by going to your Start menu > Programs > Windows Azure SDK (but for the sake of this tutorial, wait until the next step to start the services).
  • To start up your local Azure fabric and development storage, navigate to and execute the batch file ~/Program Files/Windows Azure SDK/Samples/RunDevStore.cmd . This will build your sample projects, start the Azure fabric and dev storage and create the appropriate storage structure.  You can start one of the apps from the command line by navigating to the root folder of an app (ex. HelloWorld) and executing the runme.cmd file.
  • Lets code (dave code)!  Open Visual Studio (as Administrator) and create a new project:
    • select Cloud Services from the Visual C# project type
    • In the Templates list, select Web Cloud Service. This creates a web role.  This web role handles http requests and serves up ASP. NET pages. If you choose the template that has both web and worker role, you will see the worker role is added.  This worker role acts as a service running locally that can interact with the development storage, role manager, etc.
    • In your project, open up Default.aspx and change some text.  Hit F5 and you will see your changes in the browser.
    • Storage Client Library:  Open up the sample project title Storage Client Library, you will notice that there is a whole library of classes and methods for interacting with the development storage.  If you add this project to your solution you can debug through and see how it works.  You can utilized the exposed classes to write your own Azure apps.  See the SDK sample apps for examples on how to use the Storage Client Library. (This library is based on the ADO.NET data services.  If you have had experience with ADO.NET, you may have dealt with DataServiceContext class.  If you are interested in looking at the plumbing of the Storage Client Library, you will see plenty of ADO.NET classes leveraged.)

I hope this tutorial has been helpful for you.  Please drop me a line if you have any questions about getting started.

Wednesday, November 19, 2008

Ninja Cats

I had to share this commercial featuring ninja cat. Enjoy :-)

Ok-I must give in. Initialize(LOL cats);

cat

Monday, November 3, 2008

Microsoft Certified!

I just recently gained my MCTS Web Apps certification. What does this mean? It means I took two exams focused on using the ।NET Framework 2.0 to develop web applications. Here is my cool new logo:

Thursday, October 9, 2008

How to read disk drive information using C#

I just came across some cool C# code while preparing for the Microsoft 70-536 exam. Using the Windows Management Instrumentation (WMI), you can inspect a machine for available disk drives. Add the System.Management assembly as a reference in your project, and off you go:

ManagementScope DemoScope=new ManagementScope("\\\\enter_machine_name_here\\root\\cimv2");
ObjectQuery DemoQuery = new ObjectQuery("SELECT Size, Name FROM Win32_LogicalDisk WHERE DriveType=3");
ManagementObjectSearcher DemoSearcher = new ManagementObjectSearcher(DemoScope, DemoQuery);
ManagementObjectCollection AllObjects = DemoSearcher.Get();
foreach (ManagementObject DemoObject in AllObjects)
{
Console.WriteLine("Resource Name:" + DemoObject["Name"].ToString());
Console.WriteLine("Resource Size:" + DemoObject["Size"].ToString());
}
Console.Read();

Thursday, October 2, 2008

Where does my stuff come from?

If you have ever wondered where the casing from your cell phone was made, or how much of an impact throwing away a juice box makes on environment, this video is for you. I found Story of Stuff linked on Damien Rice’s MySpace page. The website shows a very well done video explanation of where “stuff” comes from. Not only where it comes from, but we should think twice about using that stuff.

SPOILER WARNING: This video is not a I-feel-so-guilty-I-am-going-to-live-in-a-shack-in-the-woods kind of presentation. It was produced to let everyday people know that there is a story behind our large amounts of stuff. It does not just appear magically on the shelves at Kroger.

Link: Story of Stuff

Saturday, August 30, 2008

Soccer is a google Beta - Football is a Microsoft release (Process vs Result)

Here is an interesting article about how American Football embodies American result-driven, instant gratification mentality, and how Soccer is quite the opposite.
(This article chronicles a Twitter 'tweet thread'...and no I am not going to join Twitter)
Fill in the blanks, everybody: Soccer is ____. Football is _____. Football is American because ____.
Read the article on Buzzmachine

Monday, July 14, 2008

Lessons in managing (from a developers prospective)

If you are feeling stressed about the deadline of your project, it is natural to feel the urge to crack the whip and be on your teammates backs. However, after my recent experience in which I was responsible for making sure our code was delivered on time, I have learned that micro-managing others is not a good approach.

If you are a developer, it is more than likely you know the feeling of having someone watching your every move. I don't know about others, but I don't like it. As a professional, I make every effort to make the most of my time. Having someone telling me to work faster only works the first two or three time....then it becomes bothersome.

So, if you are feeling like you are becoming "that guy" who is micromanaging your employees, try to re-align your outlook with these few guidelines*

  1. Challenge yourself to find a 20/80 balance. Use 20% of your time to manage others, and 80% of your time to accomplish your tasks. Take the focus off of making sure your employees are completing your work, and make sure you complete yours!
  2. Communicate your concerns/fears to your superior. If you are feeling too stressed out to deal with all the issues/blocks, or you don't think you can meet the deadline: TALK TO YOUR SUPERIOR! It is their job to make sure you get your job done.
  3. Following my previous point, don't release your frustration on those below you. Release your burdens upwards, not downward. Those below you will just feel depressed if you unload on them. Those above you can actually help you overcome those issues.

I hope you find this helpful!

*Thanks to Jeff Hunsaker for sharing his wisdom and experience