<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0"><channel><title>Blog</title><link>http://drewby.com:80/</link><description>Blog</description><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Drewby" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="drewby" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Bitlocker recovery for Surface</title><link>http://drewby.com:80/bitlocker-recovery-for-surface</link><description>&lt;p&gt;Everyone in our house is really excited about the Surface. Even the kids.&lt;/p&gt;
&lt;p&gt;So while I was out today, my daughter&amp;nbsp;tried to log into mine...multiple times. That triggered a feature in the Surface to protect the information on my device. &lt;a href="http://en.wikipedia.org/wiki/BitLocker_Drive_Encryption"&gt;BitLocker&lt;/a&gt;*!&amp;nbsp;This makes sure all the information I store on the Surface is encrypted. If someone tries to get into the Surface and doesn't know the password, it locks the device down.&lt;/p&gt;
&lt;p&gt;To get back into the Surface, I needed to use another machine to retrieve my BitLocker recovery key. This is&amp;nbsp;a feature enabled for our corporate machines at Microsoft, but I didn't realize it would apply to my Surface too. Cool!&lt;/p&gt;
&lt;p&gt;A screen instructed us to use another machine to go to &lt;a href="http://windows.microsoft.com/recoverykey"&gt;http://windows.microsoft.com/recoverykey&lt;/a&gt;. From here, I was able to get the special code to unlock my device.&lt;/p&gt;
&lt;p&gt;This is such a great feature to protect my Surface from little fingers (and less innocent hackers) while not requiring the entire device to&amp;nbsp;be reset in order to recover.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* Our product info says the encryption in Windows RT is based on Bitlocker technology. I don't know the differences.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=wK0b1gQHMuE:OXFA9yoR5gI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=wK0b1gQHMuE:OXFA9yoR5gI:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=wK0b1gQHMuE:OXFA9yoR5gI:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/wK0b1gQHMuE" height="1" width="1"/&gt;</description><pubDate>Mon, 29 Oct 2012 03:27:52 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/bitlocker-recovery-for-surface</guid></item><item><title>A CodeMash Session List with Node.js and Windows Azure</title><link>http://drewby.com:80/a-codemash-session-list-with-node.js-and-windows-azure</link><description>&lt;p&gt;In early December, the Windows Azure team &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/12/12/improved-developer-experience-interoperability-and-scalability-on-windows-azure.aspx" target="_blank"&gt;announced support for Node.JS on Windows Azure&lt;/a&gt;. In addition to being able to host your Node.js sites on Azure, they released a set of PowerShell scripts to make it easier to get started and a Node.js library for leveraging services on Windows Azure such as Table Storage, Blob Storage and Queues.&lt;/p&gt;
&lt;p&gt;Last week at &lt;a href="http://codemash.org" alt="CodeMash"&gt;CodeMash&lt;/a&gt;, I had a chance to do some coding in Node.js and was impressed with how fast it was to go from a new project to have something running on Windows Azure. In this post, I&amp;rsquo;ll show you the steps I went through to create a very simple session viewing application.&lt;/p&gt;
&lt;h2&gt;Install Windows Azure PowerShell for Node.js&lt;/h2&gt;
&lt;p&gt;Getting started is really simple. Start by browsing to &lt;a href="http://windowsauzre.com"&gt;http://windowsauzre.com&lt;/a&gt;. Click the Developer tab and then &lt;a href="http://www.windowsazure.com/en-us/develop/nodejs/" target="_blank"&gt;select Node.js from the list&lt;/a&gt;. Clicking the Install button will launch the Web Platform Installer with the necessary packages selected. A few minutes later you&amp;rsquo;ll have everything you need to build your Node.js application.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML357192c_thumb3_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="SNAGHTML357192c_thumb3" border="0" alt="SNAGHTML357192c_thumb3" src="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML357192c_thumb3_thumb.png" width="644" height="458" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Create your Node.js Application in PowerShell&lt;/h2&gt;
&lt;p&gt;The WindowsAzure.com site has some really great tutorials on creating a Node.js web application. You create the Azure project and then add a Web role to the project using the &lt;strong&gt;Windows Azure PowerShell for Node.js&lt;/strong&gt; shortcut added to your start menu. The basic commands to execute are:&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1,3]"&gt;PS E:\src\demo&amp;gt; New-AzureService CodeMashJS
Service has been created at E:\src\demo\CodeMashJS
PS E:\src\demo\CodeMashJS&amp;gt; Add-AzureNodeWebRole Web
Role has been created at E:\src\demo\CodeMashJS\Web...
&lt;/pre&gt;
&lt;p&gt;You now have a working Node.js application and can test it by executing the following:&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1]"&gt;PS E:\src\demo\CodeMashJS&amp;gt; Start-AzureEmulator -launch
Creating local package...
Starting Emulator...
Role is running at http://127.0.0.1:81
Started
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/image_thumb1_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image_thumb1" border="0" alt="image_thumb1" src="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/image_thumb1_thumb.png" width="580" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Adding Express.js to Your Web Role&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://expressjs.com" target="_blank"&gt;Express.js&lt;/a&gt; is a popular Node.js package for doing web development. It provides a framework for separating your model, view and routing (controller) code and supports several view engines.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t already, install Express.js globally using the &lt;a href="http://npmjs.org/" target="_blank"&gt;Node.js Package Manager&lt;/a&gt;:&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1]"&gt;PS E:\src\demo\CodeMashJS&amp;gt; npm install &amp;ndash;g Express
&lt;/pre&gt;
&lt;p&gt;Now, you can execute the express command within your Web role directory. This will add a boilerplate set of code and views to your Web role using the Express.js framework.&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1,4]"&gt;PS E:\src\demo\CodeMashJS\Web&amp;gt; express .
destination is not empty, continue? Y
...
PS E:\src\demo\CodeMashJS\Web&amp;gt; npm install
&lt;/pre&gt;
&lt;p&gt;If you look at the files in your Web role directory now, you&amp;rsquo;ll notice there is an &lt;strong&gt;app.js&lt;/strong&gt; file created by Express and a &lt;strong&gt;server.js&lt;/strong&gt; file created by Azure. Both of these files serve the same purpose &amp;ndash; they are the root javascript files to be executed when you start your web server. The easiest thing to do at this point is to combine them into a single &lt;strong&gt;server.js&lt;/strong&gt; file.&lt;/p&gt;
&lt;p&gt;Copy the contents of &lt;strong&gt;app.js&lt;/strong&gt; to &lt;strong&gt;server.js&lt;/strong&gt; and add/modify the following highlighted lines of code:&lt;/p&gt;
&lt;pre class="brush:javascript; highlight: [9, 35]"&gt;/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')

var app = module.exports = express.createServer();
var port = process.env.port || 1337;

// Configuration

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, 
                                 showStack: true })); 
});

app.configure('production', function(){
  app.use(express.errorHandler()); 
});

// Routes

app.get('/', routes.index);

app.listen(port);
console.log("Express server listening on port %d in %s mode", 
            app.address().port, app.settings.env);
&lt;/pre&gt;
&lt;p&gt;After you&amp;rsquo;ve saved the new &lt;strong&gt;server.js&lt;/strong&gt; file, go ahead and delete &lt;strong&gt;app.js&lt;/strong&gt; as you won&amp;rsquo;t need it anymore. Refresh your browser (assuming you&amp;rsquo;re the Windows Azure emulator is still running from earlier).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/image_thumb3_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image_thumb3" border="0" alt="image_thumb3" src="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/image_thumb3_thumb.png" width="586" height="225" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Retrieving, Formatting and Outputting Data&lt;/h2&gt;
&lt;p&gt;Now we can modify the default behavior in the files that Express.js created to retrieve, format and output the CodeMash session data. First, open up &lt;strong&gt;index.js&lt;/strong&gt; in the routes folder. You&amp;rsquo;ll see the following code:&lt;/p&gt;
&lt;pre class="brush:javascript"&gt;exports.index = function(req, res){
  res.render('index', { title: 'Express' })
};
&lt;/pre&gt;
&lt;p&gt;Right now, this code just tells Express to render a view call index (located at views\index.jade). We need to change this so that it retrieves data from the CodeMash REST service and passes the result to the view.&lt;/p&gt;
&lt;p&gt;To make retrieving the data a little easier, install the &lt;strong&gt;request&lt;/strong&gt; package in your Web role using NPM:&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1]"&gt;npm install request
&lt;/pre&gt;
&lt;p&gt;After this is installed, update &lt;strong&gt;index.js&lt;/strong&gt; to match the following code:&lt;/p&gt;
&lt;pre class="brush:javascript"&gt;var request = require('request');

exports.index = function(req, res){
  request('http://www.codemash.org/rest/sessions.json', 
    function (error, response, body) {
      if (!error) {
        sessionData = JSON.parse(body);
        res.render('index', { title: 'CodeMash Sessions', 
                              sessions: sessionData })
      };
    });
};
&lt;/pre&gt;
&lt;p&gt;Now your code uses the request module to retrieve session data from CodeMash, evaluate the result and passes it into the index view as sessions.&lt;/p&gt;
&lt;p&gt;To format the data into HTML, you can edit &lt;strong&gt;index.jade&lt;/strong&gt; in the &lt;strong&gt;views&lt;/strong&gt; directory. Jade is a template engine that uses a concise easy to read language for defining views. Below is Jade code for displaying the title, speaker and abstract for each session.&lt;/p&gt;
&lt;pre class="brush:plain"&gt;h1= title
ul
  - for session in sessions
    li
      strong= session.Title
      p Speaker: #{ session.SpeakerName }
      p= session.Abstract
&lt;/pre&gt;
&lt;p&gt;You can test this by refreshing your browser. However, to get the Azure Emulator to restart your Node.js web server first open &lt;strong&gt;server.js&lt;/strong&gt; and save it - this changes the time stamp on the file so Azure reloads the web server.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML3bd8317_thumb1_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="SNAGHTML3bd8317_thumb1" border="0" alt="SNAGHTML3bd8317_thumb1" src="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML3bd8317_thumb1_thumb.png" width="632" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Deploying to Azure&lt;/h2&gt;
&lt;p&gt;Now that we have some basic functionality created, you can make your first deployment to Azure. The first thing you need to do is get your Azure Publish Settings file. From PowerShell, run &lt;em&gt;Get-AzurePublishSettings&lt;/em&gt;. This will launch a browser to the Windows Azure site, where you can download and save locally the publish settings file. It doesn&amp;rsquo;t matter where you save it, but remember the location.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML3b4a42e_thumb1_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="SNAGHTML3b4a42e_thumb1" border="0" alt="SNAGHTML3b4a42e_thumb1" src="http://drewby.com/Media/Default/Windows-Live-Writer/2edfa39d80b5_F977/SNAGHTML3b4a42e_thumb1_thumb.png" width="632" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you have your publish settings file, import it into your Azure project by executing the following command:&lt;/p&gt;
&lt;pre class="brush:plain; highlight: [1]"&gt;Import-AzurePublishSettings 'E:\codemashjs.publishsettings'
&lt;/pre&gt;
&lt;p&gt;Finally, publish your service by executing &lt;em&gt;Publish-AzureService&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;That gets you started with a basic application. You can add more routes, views and functionality and rerun &lt;em&gt;Publish-AzureService&lt;/em&gt; to push it our to Azure. We posted the code with additional functionality &lt;a href="https://github.com/drewby/CodeMashJS" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oMwkIuiz9Zk:V2Z7Vdr3KBI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oMwkIuiz9Zk:V2Z7Vdr3KBI:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=oMwkIuiz9Zk:V2Z7Vdr3KBI:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/oMwkIuiz9Zk" height="1" width="1"/&gt;</description><pubDate>Thu, 19 Jan 2012 20:15:55 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/a-codemash-session-list-with-node.js-and-windows-azure</guid></item><item><title>Publishing from WebMatrix to Your Own Server</title><link>http://drewby.com:80/publishing-from-webmatrix-to-your-own-server</link><description>&lt;p&gt;I received a question about hosting a WordPress site you created with WebMatrix on your own web server. Assuming you have Windows Server 2008 available, this is pretty easy to do. In fact, it’s a similar process for any WebMatrix web site. &lt;/p&gt; &lt;p&gt;Here are the steps.&lt;/p&gt; &lt;h2&gt;Create your new WordPress site&lt;/h2&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/SNAGHTML3944d57.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML3944d57" border="0" alt="SNAGHTML3944d57" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/SNAGHTML3944d57_thumb.png" width="244" height="173"&gt;&lt;/a&gt;The first step is to create your WordPress site using WebMatrix. I won’t rehash all the steps in the post as &lt;a href="http://drewby.com/a-wordpress-blog-in-15-minutes-with-webmatrix" target="_blank"&gt;I covered the steps here&lt;/a&gt; and they should still be the same.&lt;br clear="all"&gt;&lt;/p&gt; &lt;h2&gt;Prepare Your Server&lt;/h2&gt; &lt;p&gt;Now you need to prepare your server so you can deploy from WebMatrix. The easiest way to do this is to use Web Platform Installer. You can get that from here: &lt;a title="http://www.microsoft.com/web/platform/" href="http://www.microsoft.com/web/platform/"&gt;http://www.microsoft.com/web/platform/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 10px 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_thumb_1.png" width="244" height="170"&gt;&lt;/a&gt;Once you’ve launched Web Platform Installer, type “Hosting” in the Search box and select “Recommended Server Configuration for Web Hosting Providers”. This will add several components to the Items to be Installed list at the bottom of the Window.&lt;/p&gt; &lt;p&gt;In addition, if you do not have access to a separate MySQL server, then you may want to add MySQL Windows 5.1 (or another recent version). &lt;/p&gt; &lt;p&gt;Click the Install button and Accept the license agreements for the list of software that will be installed.&lt;/p&gt; &lt;p&gt;Web Platform Installer will now install and configure several packages including IIS, ASP.NET, PHP, SQL Server and MySQL. &lt;/p&gt; &lt;h2&gt;Configure Web Deploy Publishing&lt;/h2&gt; &lt;p&gt;Now that you have IIS and all the components you need installed, you can configure Web Deploy Publishing on your website. &lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_thumb_2.png" width="244" height="184"&gt;&lt;/a&gt;You can use the Default Web Site, or create a new web site in IIS to do this. I’ll use the Default Web Site in this example.&lt;/p&gt; &lt;p&gt;Launch Internet Information Services Manager from the start menu. Expand the nodes in the Connections window and right-click Default Web Site. Select Deploy and click Configure Web Deploy Publishing. &lt;/p&gt; &lt;p&gt;A dialog will appear asking you for the configuration information. &lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_thumb_3.png" width="244" height="243"&gt;&lt;/a&gt;For User, select either a Windows user or an IIS Manager user. You can create new IIS Manager users using the IIS Manager Users feature that’s part of the root server node. Type in the MySQL connection string, or use the dialog to enter the information manually and have IIS build the connection string for you. Check that the hostname is correct in the URL for the publishing server connection. Finally, choose a location to store the publish settings file. Click Setup.&lt;/p&gt; &lt;p&gt;You should now have a new publish settings file located on your server. Copy this file to your local computer.&lt;/p&gt; &lt;h2&gt;Publish to Your New Server&lt;/h2&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/SNAGHTML46a6280.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML46a6280" border="0" alt="SNAGHTML46a6280" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/SNAGHTML46a6280_thumb.png" width="244" height="173"&gt;&lt;/a&gt;On your local computer, open up your WordPress site in WebMatrix. Click the Publish button in the toolbar. On the Publish Settings dialog, the click &lt;strong&gt;Import publish settings&lt;/strong&gt; link. Choose the publish settings file that you downloaded from the server. Retype your password in the dialogue.&lt;br clear="all"&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_10.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/4b6bdfa43e33_D21C/image_thumb_4.png" width="244" height="163"&gt;&lt;/a&gt;You can now validate the settings by clicking Validate Connection. In addition, when you click Save you will have the opportunity to check for Application Compatibility. If you have trouble connecting to your server, you may need to open ports (for example 80 and 8172) in the firewall on the server and/or network.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;There is more detail on setting up to host WebMatrix sites here: &lt;a title="http://learn.iis.net/page.aspx/947/joining-the-web-hosting-gallery-with-webmatrix-support/" href="http://learn.iis.net/page.aspx/947/joining-the-web-hosting-gallery-with-webmatrix-support/"&gt;http://learn.iis.net/page.aspx/947/joining-the-web-hosting-gallery-with-webmatrix-support/&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=qLzmHEetlT4:kcW-BCntR8U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=qLzmHEetlT4:kcW-BCntR8U:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=qLzmHEetlT4:kcW-BCntR8U:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/qLzmHEetlT4" height="1" width="1"/&gt;</description><pubDate>Tue, 17 Jan 2012 05:57:21 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/publishing-from-webmatrix-to-your-own-server</guid></item><item><title>Visual Studio 11 Developer Preview Training Kit</title><link>http://drewby.com:80/visual-studio-11-developer-preview-training-kit</link><description>&lt;p&gt;Today we released an update to the Visual Studio 11 Developer Preview Training Kit. This includes updates to labs that we made available at BUILD as well as several new labs.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Visual-Studio-11-Developer-Preview-Train_DD51/image_2.png"&gt;&lt;img height="180" width="240" src="http://drewby.com/Media/Default/Windows-Live-Writer/Visual-Studio-11-Developer-Preview-Train_DD51/image_thumb.png" align="right" alt="image" border="0" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; margin-left: 0px; margin-right: 0px; padding-top: 0px; border-width: 0px;" title="image" /&gt;&lt;/a&gt;The Training Kit is available in &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27738"&gt;two different offline packages&lt;/a&gt; and is also available to &lt;a href="http://msdn.microsoft.com/en-us/VS11TrainingCourse"&gt;browse online at MSDN&lt;/a&gt;. You can download the kit as a single package (37.2mb download), or you can download the Web Installer (2.5mb download) to browse the available content and download only the labs that you need.&lt;/p&gt;
&lt;p&gt;Below is the list of hands-on labs that are included in the Training Kit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual Studio Development Environment&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Lap Around the Visual Studio 11 Development Environment &lt;/li&gt;
&lt;li&gt;What's New in Visual Studio 11 for C++ Developers (new)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Languages&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Asynchronous Programming in the .NET Framework 4.5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Web&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What's New in ASP.NET and Web Development in VS 11 &lt;/li&gt;
&lt;li&gt;What's New in Web Forms in ASP.NET 4.5 &lt;/li&gt;
&lt;li&gt;What's New in ASP.NET MVC 4 (new) &lt;/li&gt;
&lt;li&gt;Using Page Inspector in Visual Studio 11 (new) &lt;/li&gt;
&lt;li&gt;Build RESTful APIs with WCF Web API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;.NET Framework&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using Portable Class Libraries (new)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Application Lifecycle Management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Building the Right Software: Generating Storyboards and Collecting Stakeholder Feedback with Visual Studio 11 &lt;/li&gt;
&lt;li&gt;Agile Project Management in Team Foundation Server 11 &lt;/li&gt;
&lt;li&gt;Making Developers More Productive with Team Foundation Server 11 &lt;/li&gt;
&lt;li&gt;Diagnosing Issues in Production with IntelliTrace and Visual Studio 11 &lt;/li&gt;
&lt;li&gt;Exploratory Testing and Other Enhancements in Microsoft Test Manager 11 &lt;/li&gt;
&lt;li&gt;Unit Testing with Visual Studio 11: MSTest, NUnit, xUnit.net, and Code Clone&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Windows Metro-style apps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows 8 Developer Preview Hands on Labs from BUILD (link to &lt;a href="http://www.buildwindows.com/labs)"&gt;http://www.buildwindows.com/labs)&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oKctoC9KvYg:i_aGOvgEpjA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oKctoC9KvYg:i_aGOvgEpjA:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=oKctoC9KvYg:i_aGOvgEpjA:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/oKctoC9KvYg" height="1" width="1"/&gt;</description><pubDate>Thu, 15 Dec 2011 23:58:03 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/visual-studio-11-developer-preview-training-kit</guid></item><item><title>Extending Enterprise Applications to the Cloud</title><link>http://drewby.com:80/extending-enterprise-applications-to-the-cloud</link><description>&lt;p&gt;Today, I had the opportunity to present a demo during &lt;a href="http://blogs.msdn.com/b/jasonz"&gt;Jason Zander&lt;/a&gt;’s keynote at &lt;a href="http://northamerica.msteched.com/"&gt;TechEd North America&lt;/a&gt;. Jason has a nice write-up of the &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2011/05/16/announcing-alm-roadmap-in-visual-studio-vnext-at-teched.aspx"&gt;ALM announcements that he made here&lt;/a&gt;.&amp;nbsp; The demo I did was before the announcements and showed how you can extend an enterprise application to the cloud and enable new experiences on devices.&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/details_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="details" border="0" alt="details" align="right" src="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/details_thumb.png" width="244" height="169"&gt;&lt;/a&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/dashboard_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="dashboard" border="0" alt="dashboard" align="right" src="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/dashboard_thumb.png" width="244" height="169"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;During the demo, we talked about Fabrikam Fiber, a fictional cable company with a big customer satisfaction problem. We’re all familiar with waiting at home for hours for the cable guy and he’s either late or never shows up. Fabrikam Fiber wants to solve this problem by enabling service technicians in the field to use their smartphones to get updates and also alert customers when they will be late.&lt;/p&gt; &lt;p&gt;Currently, Fabrikam Fiber uses a simple call center application to&amp;nbsp; schedule technicians for appointments in the field. The problem today is that once scheduled, the technician isn’t going to get the update until he returns to the office and checks his schedule again. They want their field technicians to receive updates to their schedule on their smartphones as well as be more aware of when they’ll be late for appointments so they can warn customers.&lt;/p&gt; &lt;p&gt;We solved this problem by creating a Cloud + Devices solution. That allowed us to leverage the infrastructure available in Windows Azure and the rich platform of Windows Phone 7. &lt;/p&gt; &lt;p&gt;To make building the application easier, we used the Windows Azure Toolkit for Windows Phone 7. The toolkit includes Windows Azure and Windows Phone project templates as well as the class libraries and cloud services we needed to build the solution.&lt;/p&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/adfs%20homescreen_4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="adfs homescreen" border="0" alt="adfs homescreen" align="right" src="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/adfs%20homescreen_thumb_1.png" width="136" height="244"&gt;&lt;/a&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/fabfiber%20phone%20login_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="fabfiber phone login" border="0" alt="fabfiber phone login" align="right" src="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/fabfiber%20phone%20login_thumb.png" width="136" height="244"&gt;&lt;/a&gt;The toolkit supports storing data for your phone application in the cloud and sending push notifications from the cloud to the phone. Last week, the team released support for Apple Push Notifications. Today, we released support for integration with Access Control Service (&lt;a href="http://www.wadewegner.com/2011/05/now-available-windows-azure-toolkit-for-windows-phone-7-v1-2/"&gt;Wade Wegner has a great write up on his blog&lt;/a&gt;). And later this summer, we’ll add support for Android Cloud to Device Messaging. &lt;/p&gt; &lt;p&gt;One of the services that we used was the Windows Azure Access Control service which makes is easy to work with multiple identity providers without knowing the specific implementation of each provider. With the support included in the toolkit, we were able to log on to our Windows Phone application using Windows Live ID and our Active Directory credentials (via ADFS). &lt;/p&gt; &lt;p&gt;Here are links to the resources we used in the demo:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://watoolkitwp7.codeplex.com/"&gt;Windows Azure Toolkit for Windows Phone 7&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/"&gt;Windows Azure&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx"&gt;Windows Azure Connect and Traffic Manager&lt;/a&gt; (Virtual Network)  &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/appfabric/overview/default.aspx#top"&gt;Access Control service&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/location%20-%20running%20late_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="location - running late" border="0" alt="location - running late" align="left" src="http://drewby.com/Media/Default/Windows-Live-Writer/Extending-Enterprise-Applications-to-the_A75B/location%20-%20running%20late_thumb.png" width="244" height="188"&gt;&lt;/a&gt;I also had a chance to show some of the new features of the “Mango” release of the Windows Phone SDK which will be available later this month. The tool I showed was the GPS emulator. &lt;/p&gt; &lt;p&gt; &lt;p&gt;You can watch the &lt;a href="http://northamerica.msteched.com/?fbid=c0oq0yjcY1J#tab1"&gt;TechEd keynote here&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=EPiQLleet3k:Yjr-edw7M6w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=EPiQLleet3k:Yjr-edw7M6w:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=EPiQLleet3k:Yjr-edw7M6w:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/EPiQLleet3k" height="1" width="1"/&gt;</description><pubDate>Tue, 17 May 2011 05:25:06 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/extending-enterprise-applications-to-the-cloud</guid></item><item><title>Moved from WordPress to Orchard CMS</title><link>http://drewby.com:80/moved-from-wordpress-to-orchard-cms</link><description>&lt;p&gt;Over the last week, I moved my blog from WordPress to Orchard CMS. In some ways, this was a simple process of creating an Orchard site and moving the content over. However, there was functionality I had in the WordPress blog that I wanted to have in Orchard as well.&lt;/p&gt;
&lt;p&gt;I started with the Blog recipe and many of the features I needed in Orchard were available already or easily added via modules. In a few cases, I spent some time to create new modules. I also created a theme that looks nearly identical to the theme I used in WordPress.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a list of things I integrated which already exist in the gallery today:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/docs/Installing-Orchard.ashx"&gt;Orchard CMS 1.1.30&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Disqus.Comments"&gt;Disqus.Comments&lt;/a&gt; &amp;ndash; replaced the Orchard comment system with Disqus. I helped build this module, but not as part of this project. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.SH.GoogleAnalytics"&gt;GoogleAnalytics&lt;/a&gt; &amp;ndash; integrates analytics from Google. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.kosfiz.sitemap"&gt;kosfiz.sitemap&lt;/a&gt; &amp;ndash; generates a sitemap.xml for search engines. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Contrib.RewriteRules"&gt;Rewrite Rules&lt;/a&gt; &amp;ndash; used to rewrite the URLs from my WordPress blog to the new entries on Orchard. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Heikura.SyntaxHighlighter"&gt;Syntax Highlighter&lt;/a&gt; &amp;ndash; adds the javascript &lt;a href="http://alexgorbatchev.com/SyntaxHighlighter/"&gt;SyntaxHighlighter&lt;/a&gt; from Alex Gorbatchev.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There were a few things that I built on my own:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Drewby.FollowMe"&gt;FollowMe&lt;/a&gt; &amp;ndash; a simple module that displays social icons with links to my Twitter, Facebook profiles. This was a nice &amp;ldquo;hello world&amp;rdquo; module for me to understand how to extend Orchard. &lt;/li&gt;
&lt;li&gt;WordPress Import &amp;ndash; I wrote a module that imports the WordPress extended RSS file and downloads images into the Media gallery. (I&amp;rsquo;ve not released this &amp;ndash; it needs lots of clean up and testing &amp;ndash; but I may in the future) &lt;/li&gt;
&lt;li&gt;Drewby Theme &amp;ndash; I did my best to hack together a theme that looks like the one from WordPress. It&amp;rsquo;s not very clean code, but gets me close to the style I had before. (Also, I&amp;rsquo;ve not released this as it is pulling in assets I used from my old WP theme)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The experience of extending Orchard is a little daunting at first. It takes some time to understand the underlying concepts underneath the hood of Orchard. However, once you get oriented to the architecture, it&amp;rsquo;s pretty easy to create, package and publish modules.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll write more about my experiences creating and using Orchard Modules and Themes. In the meantime, there&amp;rsquo;s a great set of information on using and extending Orchard at &lt;a href="http://orchardproject.net"&gt;http://orchardproject.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using &lt;a href="http://microsoft.com/web/webmatrix"&gt;WebMatrix&lt;/a&gt;, you can start playing with Orchard on your local machine within just a few minutes. Give it a try!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=dap1kqHjZhI:mursVPI1ywA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=dap1kqHjZhI:mursVPI1ywA:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=dap1kqHjZhI:mursVPI1ywA:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/dap1kqHjZhI" height="1" width="1"/&gt;</description><pubDate>Tue, 19 Apr 2011 22:42:44 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/moved-from-wordpress-to-orchard-cms</guid></item><item><title>Latest on Web Platform and Tools</title><link>http://drewby.com:80/latest-on-web-platform-and-tools</link><description>&lt;p&gt;&lt;a href="http://bit.ly/aYhTS9"&gt;Scott Hanselman gave a session at PDC10&lt;/a&gt; on the latest improvements to Microsoft’s Web Platform and Tools. Scott’s session was done all in demo – no slides. He covered technologies like IIS Express, NuGet and the ASP.NET Razor syntax.&lt;/p&gt; &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/868/iis-express-overview/"&gt;IIS Express&lt;/a&gt; is a full version of IIS7 that does not require the IIS service to be installed on your developer machine. It runs as it’s own process and is isolated from the configuration of your machine. The benefit is that you can test applications without impacting your OS configuration. For some, it’s a must to have a tool like this because their organizations do not allow the full IIS to be installed on workstations.&lt;/p&gt; &lt;p&gt;&lt;a href="http://nupack.codeplex.com/"&gt;NuGet&lt;/a&gt; (previously known as NuPack) is a new Package Manager that is integrated into Visual Studio and ASP.NET. It allows you to easily add functionality to your ASP.NET applications. NuGet pulls components from feeds available from the web and can provide files, libraries, configuration settings, as well as dependencies for the package to your application. Scott showed how he could install SQLCE and Entity Framework CTP4 using NuGet.&lt;/p&gt; &lt;p&gt;Scott proceeded to build a blog application starting from the basic ASP.NET MVC Template. Using the &lt;a href="http://blogs.msdn.com/b/adonet/archive/2010/07/14/ctp4announcement.aspx"&gt;Entity Framework CTP 4&lt;/a&gt; , he was able to take a code-first approach and generate the database form the code model he created. He added data annotations to setup rules like required fields and string length on a title.&lt;/p&gt; &lt;p&gt;A lot of the work that Scott did, including using NuGet to get packages, was done from an integrated PowerShell command window inside Visual Studio. Using NuGet commands, he brought in a package for doing scaffolding (actually an example NuGet package he called MvcHanselScaffold that will never ship), dependency injection and error logging. The PowerShell commands he executed, interacted with Visual Studio to configure the new packages. He also added PowerShell commands via his NuGet package to scaffold his site.&lt;/p&gt; &lt;p&gt;Scott also showed how you can start using the new &lt;a href="http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax"&gt;ASP.NET Razor syntax&lt;/a&gt; to simplify the inline code in your ASP.NET MVC pages. and leverage many &lt;a href="http://blogs.msdn.com/b/erikreitan/archive/2010/07/12/webmatrix-helpers.aspx"&gt;of the new helpers available to ASP.NET developers&lt;/a&gt; An update is coming to the tooling that will give you IntelliSense and code syntax coloring.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=KAdryAkZh3U:5LQ1nmtzmy4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=KAdryAkZh3U:5LQ1nmtzmy4:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=KAdryAkZh3U:5LQ1nmtzmy4:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/KAdryAkZh3U" height="1" width="1"/&gt;</description><pubDate>Fri, 29 Oct 2010 19:26:08 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/latest-on-web-platform-and-tools</guid></item><item><title>Preview of WCF Changes Available on CodePlex</title><link>http://drewby.com:80/preview-of-wcf-changes-available-on-codeplex</link><description>&lt;p&gt;&lt;a href="http://bit.ly/c7aT9h"&gt;Glenn Block gave a session at PDC10&lt;/a&gt; on the improvements they are planning for the WCF stack. The improvements are around simplifying the programming model while providing greater control over the protocols and formats that you use with your services.&lt;/p&gt; &lt;p&gt;For example, if you want total control, you now have the ability to take an &lt;em&gt;HttpRequestMessage&lt;/em&gt; and return &lt;em&gt;HttpResponseMessage&lt;/em&gt; with full strongly-typed access to the HTTP headers and data stream.&lt;/p&gt; &lt;p&gt;But there was also a lot of great new features around taking in requests and providing responses for various formats like Json and OData or even media types such as images. I encourage you to &lt;a href="http://bit.ly/c7aT9h"&gt;go watch his session&lt;/a&gt; and learn more about the upcoming changes.&lt;/p&gt; &lt;p&gt;But you can also get your hands on the preview today! During the last part of the session, Glenn actually clicked Publish on the CodePlex site to make available the preview. &lt;a href="http://wcf.codeplex.com"&gt;Download the preview today&lt;/a&gt; and start playing with the technology. &lt;/p&gt; &lt;p&gt;Make sure you provide your feedback to the product team, via the CodePlex site, so they can build the right WCF stack for your needs.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=Q6bSMOeOrOs:aBc1JEmDKAg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=Q6bSMOeOrOs:aBc1JEmDKAg:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=Q6bSMOeOrOs:aBc1JEmDKAg:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/Q6bSMOeOrOs" height="1" width="1"/&gt;</description><pubDate>Fri, 29 Oct 2010 17:06:57 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/preview-of-wcf-changes-available-on-codeplex</guid></item><item><title>New OData Services and Windows Phone 7 Library</title><link>http://drewby.com:80/new-odata-services-and-windows-phone-7-library</link><description>&lt;p&gt;Microsoft has been working with a number of partners over the past few months to make their data available via the &lt;a href="http://odata.org"&gt;Open Data Protocol&lt;/a&gt;. We’re excited to announce the availability of these new OData feeds today. All of these feeds are being hosted on the &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Windows Azure Platform&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Pablo Castro announced these feeds in his &lt;a href="http://bit.ly/bqQYL4"&gt;OData session at PDC10&lt;/a&gt; and also discussed how these services were built. The interesting part is that these services are the typical DataService backed by a database. Pablo shows how we wrapped the existing Web APIs from these services to publish an OData feed.&lt;/p&gt; &lt;h2&gt;eBay&lt;/h2&gt; &lt;p&gt;The eBay OData feed allows you to query the items available in the eBay catalog. You can query for items using a free text search, filtering on attributes such as price, number of bidders and location. You can also query for User details, including listing the items being sold by a User. Finally, if you’re looking for great deals on eBay, the OData feed provides an easy way to access to those deals.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Query for the Kinect being sold on eBay: &lt;a href="http://ebayodata.cloudapp.net/Items/?search='Kinect'"&gt;http://ebayodata.cloudapp.net/Items/?search='Kinect'&lt;/a&gt;&lt;/li&gt; &lt;li&gt;The documentation is located here: &lt;a href="http://ebayodata.cloudapp.net/docs"&gt;http://ebayodata.cloudapp.net/docs&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Twitpic&lt;/h2&gt; &lt;p&gt;Twitpic is one of the most popular image services used by Twitter users. It was made famous by a user who published the first image of US Airways Flight 1529 landing in the Hudson River. With the Twitpic OData feed, you can query for Images by User, Place, Tags and Events. You can also query on Comments made about Images.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Query for all Twitpic Images tagged as PDC10: &lt;a href="http://odata.twitpic.com/Tags('PDC10')/Images"&gt;http://odata.twitpic.com/Tags('PDC10')/Images&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Facebook&lt;/h2&gt; &lt;p&gt;The Facebook Insights OData Service allows Facebook application developers to connect to live usage data for their applications from clients like Excel. The combination of PowerPivot in Excel 2010, OData and Facebook Insights proves is a powerful example of how these technologies can work together to provide business insight.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Check out Facebook Insights OData Service at: &lt;a href="http://apps.facebook.com/insightsodata/"&gt;http://apps.facebook.com/insightsodata/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Netflix&lt;/h2&gt; &lt;p&gt;We featured the Netflix OData feed at MIX 2010 earlier this year. At the time, you could search the Netflix catalog and find titles by genre, rating, availability, etc. With today’s release, you can now manage and query a User queue using the Netflix User feed. This turns the Netflix feed into a read/write API so you can further build even richer applications using the Netflix OData feed.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;More detail about the Netflix OData feed is available here: &lt;a href="http://developer.netflix.com/docs/OData_Catalog"&gt;http://developer.netflix.com/docs/OData_Catalog&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;More Feeds&lt;/h2&gt; &lt;p&gt;You can keep track of all the new OData sources by watching the &lt;a href="http://www.odata.org/consumers"&gt;Consumers list at OData.org&lt;/a&gt; and the &lt;a href="http://datamarket.azure.com/"&gt;Windows Azure DataMarket&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;WCF Data Services client for Windows Phone 7&lt;/h2&gt; &lt;p&gt;We also announced that a production-ready version of the WCF Data Services client for Windows Phone 7 is available for download from &lt;a href="http://odata.codeplex.com"&gt;http://odata.codeplex.com&lt;/a&gt;.&amp;nbsp; This means that it is now simple to create an app that connects your Windows Phone 7 to all the existing OData services as well as the new ones we’re announcing at this PDC. &lt;br&gt;The release includes a version of System.Data.Services.Client.dll that is supported on the phone (both the assembly and the source code) and a code generator tool to generate phone-friendly client side proxies.&lt;/p&gt; &lt;p&gt;The library follows most of the same patterns you are already used to when programming with OData services on the desktop version of Silverlight.&amp;nbsp; The key changes from Silverlight desktop to be aware of are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;LINQ support in the client library has been removed as the core support is not yet available on the phone platform.&amp;nbsp; That said, we are actively working to enable this in a future release.&amp;nbsp; Given this, the way to formulate queries is via URIs.&lt;/li&gt; &lt;li&gt;We’ve added a LoadAsync(Uri) method to the DataServiceCollection class to make it simple to query services via URI.&lt;/li&gt; &lt;li&gt;So you can easily support the phone application model we’ve added a new standalone type ‘DataServiceState’ which makes it simple to tombstone DataServiceContext and DataServiceCollection instances&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oADbs1SAZGY:FzfiZ0v4rXk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=oADbs1SAZGY:FzfiZ0v4rXk:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=oADbs1SAZGY:FzfiZ0v4rXk:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/oADbs1SAZGY" height="1" width="1"/&gt;</description><pubDate>Thu, 28 Oct 2010 22:32:59 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/new-odata-services-and-windows-phone-7-library</guid></item><item><title>Code First Development with Entity Framework</title><link>http://drewby.com:80/code-first-development-with-entity-framework</link><description>&lt;p&gt;Jeff Dersdadt and Tim Laverty &lt;a href="http://bit.ly/cbMOBm"&gt;gave an excellent session&lt;/a&gt; on developing with &lt;a href="http://msdn.microsoft.com/en-us/data/ef.aspx"&gt;Entity Framework&lt;/a&gt; using a code first approach. &lt;/p&gt; &lt;p&gt;Entity Framework has a couple different approaches today. You can use a database-first approach where you generate a model from an existing database. You can also use a model-first approach where you use the EF designer in Visual Studio and then generate the database.&lt;/p&gt; &lt;p&gt;In this approach, using the &lt;a href="http://blogs.msdn.com/b/adonet/archive/2010/07/14/ctp4codefirstwalkthrough.aspx"&gt;Entity Framework CTP 4&lt;/a&gt;, you can write your model in code and then generate the database from that. Code-first is similar to the model-first approach, but instead of working with the model designer, you simply work with an object model defined in code and then generate the database model from that.&lt;/p&gt; &lt;p&gt;Using Data Annotations, you can tell EF how you want the database model to be generated. For example, you can instruct EF to use a specific value as the primary key, tell it what data to store,and you can control how relationships are represented.&lt;/p&gt; &lt;p&gt;One really cool thing is that you don’t actually have to explicitly generate the database. As you’re developing the application, you can hit F5 and run the application. EF will see that the database has not been created and generate it for you at runtime. &lt;/p&gt; &lt;p&gt;If you’ve made changes to the model, then you can provide a database initializer to instruct the framework what to do. For example, in Jeff and Tim’s demo, they instructed the framework to go ahead and delete and recreate the database and then populate it with test data. &lt;/p&gt; &lt;p&gt;(Database initializers are great for development and testing, but the product team is also working on a feature called Migrations which will help you make incremental changes to the database as your model changes. If you want more info on Migrations, or have feedback, you can go to the &lt;a href="http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx"&gt;Entity Framework Design blog&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/cbMOBm"&gt;During the session&lt;/a&gt;, Jeff and Tim build a twitter-like application from scratch using ASP.NET MVC, Entity Framework and OData.&lt;/p&gt; &lt;p&gt;One thing they noted at the end is that WCF Data Services (for the OData feed) won’t automatically work with a code-first model for Entity Framework. In order to create a DataService&amp;lt;T&amp;gt; with this, you need to override the CreateDataSource method and use the explicit IObjectContextAdapter interface to return an ObjectContext from your DbContext.&lt;/p&gt; &lt;p&gt;&lt;pre class="brush:csharp"&gt;protected override ObjectContext CreateDataSource()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp;&amp;nbsp; var ctx = ((IObjectContextAdapter) new YourDbContext()).ObjectContext;
&lt;br&gt;&amp;nbsp;&amp;nbsp; ctx.ContextOptions.ProxyCreationEnabled = false;
&lt;br&gt;&amp;nbsp;&amp;nbsp; return ctx;
&lt;br&gt;}
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=px7O3B-y6XI:FN0kjH2z0mA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=px7O3B-y6XI:FN0kjH2z0mA:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=px7O3B-y6XI:FN0kjH2z0mA:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/px7O3B-y6XI" height="1" width="1"/&gt;</description><pubDate>Thu, 28 Oct 2010 21:37:39 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/code-first-development-with-entity-framework</guid></item><item><title>Anders Hejlsberg Talks About the Future of C# and VB</title><link>http://drewby.com:80/anders-hejlsberg-talks-about-future-of-c-and-vb</link><description>&lt;html xmlns=""&gt;&lt;a href="http://bit.ly/bBGOfV"&gt;Anders talked at PDC10&lt;/a&gt; about the future of C# and VB. Specifically, he talked a lot about concurrency and how they are improving the languages to support easier asynchronous programming.

The big news was a &lt;a href="http://msdn.com/vstudio/async"&gt;Community Technology Preview of Visual Studio Async&lt;/a&gt;. This is preview is basically an updated compiler for C# and VB that includes support for new asynchronous .NET methods.

The challenge with asynchronous programming today is the large amount of ceremony involved in leveraging asynchronous methods. Not only do you need to store state to leverage when the asynchronous method returns, but you also need to build a callback method and possibly rejoin the UI thread.

The preview adds new keywords that makes moving code written with a synchronous call to code written using asynchronous calls really easy.

Instead of writing asynchronous call back methods and handle state and marshaling back to the UI thread, you can now simply write something like the following code which sums the total length of data returned from multiple URIs. Note the &lt;strong&gt;async&lt;/strong&gt; and &lt;strong&gt;await&lt;/strong&gt; keywords that are added. The interesting thing is that you can see its composing together several asynchronous calls.
&lt;pre class="brush:csharp"&gt;&lt;p&gt;
public async Task&amp;lt;int&amp;gt; SumPageSizesAsync(IList&amp;lt;Uri&amp;gt; uris) {
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int total = 0;
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var uri in uris) {
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; statusText.Text = string.Format("Found {0} bytes ...", total);
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var data = await new WebClient().DownloadDataAsync(uri);
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total += data.Length;
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; statusText.Text = string.Format("Found {0} bytes total", total);
&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return total;
&lt;br&gt;}
&lt;/p&gt;&lt;/pre&gt;
The await keyword signs up the rest of the method as the callback to the current call. When the awaited method returns, the remainder of the code will execute. In the meantime, the rest of the application is allowed to continue to do things like update the UI thread, make other IO calls, etc.

There’s also great support for error handling, cancelation tokens, timeout, etc. This is really cool. If you want to check out more about the Visual Studio Async CTP, you can visit the &lt;a href="http://msdn.com/vstudio/async"&gt;MSDN page&lt;/a&gt; and &lt;a href="http://go.microsoft.com/fwlink/?LinkId=203690"&gt;download the CTP&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=AnbACWn5uEI:F_MZ6S5zcB8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=AnbACWn5uEI:F_MZ6S5zcB8:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=AnbACWn5uEI:F_MZ6S5zcB8:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/AnbACWn5uEI" height="1" width="1"/&gt;</description><pubDate>Thu, 28 Oct 2010 19:05:43 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/anders-hejlsberg-talks-about-future-of-c-and-vb</guid></item><item><title>Frameworks and Tools at PDC10</title><link>http://drewby.com:80/frameworks-tools-at-pdc10</link><description>&lt;p&gt;&lt;a href="http://microsoftpdc.com"&gt;PDC10&lt;/a&gt; kicks off this week on the &lt;a href="http://www.bing.com/maps/?v=2&amp;amp;cp=47.64271458009951~-122.12567615498489&amp;amp;lvl=18&amp;amp;sty=r&amp;amp;sp=Point.ry6cvq4tpk76_Microsoft%20PDC"&gt;Microsoft Campus in Redmond, Washington&lt;/a&gt;. We’ve been pretty busy over the last few months getting ready for this week. It’s great to see the conference finally here and have our investment of time pay off.&lt;/p&gt; &lt;p&gt;&lt;img style="margin: 0px 5px; display: inline; float: right" alt="Microsoft PDC 2010 - Live from the Microsoft Campus" align="right" src="http://www.microsoftpdc.com/Skins/PDC10/Styles/images/logo.gif"&gt;My role in PDC10 was organizing the Framework &amp;amp; Tools theme across several product teams at Microsoft that are represented. The theme description was the following:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Frameworks &amp;amp; Tools&lt;/strong&gt; – go deep on various topics related to languages, frameworks, runtimes and tools.&amp;nbsp; Learn how to build the most cutting edge applications using the full power and flexibility of the Microsoft platform.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Planning a PDC theme is a lot of fun because you get to ask the product teams what message they want to carry to developers. We get to be some of the first to hear how the story of our platform will evolve.&lt;/p&gt; &lt;p&gt;You’ll be able to tune into all of the live sessions as their streamed from the show at &lt;a title="http://player.microsoftpdc.com" href="http://player.microsoftpdc.com"&gt;http://player.microsoftpdc.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here’s some thoughts on what I think is exciting about the live sessions in the Framework &amp;amp; Tools theme:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Future of C# and Visual Basic&lt;br&gt;&lt;/strong&gt;The session title and speaker (Anders Hejlsberg) pretty much says it all. If you develop in one of these languages, don’t miss this glimpse at the future!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Programming Languages Panel&lt;br&gt;&lt;/strong&gt;This will be a great panel discussion with top language designers: Anders Hejlsberg, Gilad Bracha, Herb Sutter, Mark S. Miller, Erik Meijer &lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Future of F#: Data and Services at your Finger Tips&lt;br&gt;&lt;/strong&gt;I’ve not had a chance to see this session or its demos yet an I’m really looking forward to seeing I on Friday. Don Syme will show how they are extending F# to bring in data from the web in really interesting first-class ways.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;ASP.NET + Packaging + Open Source = Crazy Delicious&lt;br&gt;&lt;/strong&gt;This is sure to go down as a Scott Hanselman classic. Scott will build an application from scratch using new ASP.NET features and tooling.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Code First Development with Entity Framework&lt;br&gt;&lt;/strong&gt;I saw Jeff Derstadt and Tim Laverty do a dry-run of this session and its great! Jeff and Tim build an application from the ground up using a code-first approach with the Entity Framework.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Creating Custom OData Services: Inside Some of The Top OData Services&lt;br&gt;&lt;/strong&gt;If you’ve seen the typical OData feed implemented via WCF Data Services, then there’s a lot more for you to see! Pablo Castro will show you how we build custom OData feeds like Netflix that are not backed by a typical database.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Building Web APIs for the Highly Connected Web&lt;br&gt;&lt;/strong&gt;Mark this session as a turning point in how you build services on the .NET Framework. Glenn Block is going to show you the results of the product teams work to simplify service development along with great support for common web protocols and patterns.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Windows Workflow Foundation Futures&lt;br&gt;&lt;/strong&gt;Ron Jacobs will show several of the areas that the Windows Workflow team is investing in for future releases of Workflow.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Lessons Learned from Moving a Major Microsoft Application to the Cloud&lt;br&gt;&lt;/strong&gt;We had to be pretty vague about this session abstract as there are some surprises in the keynote we didn’t want to reveal early (that would ruin the fun!). This will be a great session with a great speaker, you won’t want to miss it.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Microsoft Visual Studio IntelliTrace, Test Impact Analysis and Tier Interaction Profiling&lt;br&gt;&lt;/strong&gt;If you have not seen these tools in Visual Studio in action, then don’t miss Justin Marks who’s going to walk you through several scenarios to show you how these tools apply.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Better Code Through Smart Assertions and Unit Tests&lt;br&gt;&lt;/strong&gt;Mike Barnett and Peli de Halleux are going to give an update on Code Contracts, Pex and Moles. They are also going to show off a really cool website for learning Pex and competing with your friends.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=sJh1ZYkBSUU:IyKU5ljbgk8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=sJh1ZYkBSUU:IyKU5ljbgk8:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=sJh1ZYkBSUU:IyKU5ljbgk8:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/sJh1ZYkBSUU" height="1" width="1"/&gt;</description><pubDate>Tue, 26 Oct 2010 23:01:18 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/frameworks-tools-at-pdc10</guid></item><item><title>Update to the Tailspin Travel Demos on CodePlex</title><link>http://drewby.com:80/update-to-the-tailspin-travel-demos-on-codeplex</link><description>&lt;html xmlns=""&gt;&lt;a href="http://blogs.msdn.com/b/jasonz/"&gt;Jason Zander&lt;/a&gt; presented a session at TechEd 2010 in New Orleans called &lt;em&gt;&lt;a href="http://www.msteched.com/2010/NorthAmerica/FDN-1"&gt;From Concept to Reality with Developer Platform and Tools&lt;/a&gt;&lt;/em&gt;. During the session, we had several demos that used an updated version of the Tailspin Travel sample application.

I’m pleased to announce that we’ve &lt;a href="http://tailspintravel.codeplex.com/"&gt;released the updated sample application to CodePlex&lt;/a&gt;. You can download the sample application and see how we put it together. You can use it in your own presentations whether internal at your company or at public events. We’ve included the demo scripts in the sample application downloads.

If you’d like to watch the sample application in action, here is a recording of Jason’s session.

&lt;object class="player" width="645" height="365" type="application/x-silverlight-2" data="data:application/x-silverlight-2,"&gt;
&lt;param value="http://www.msteched.com/ClientBin/players/VideoPlayer2009_03_27.xap" name="source" /&gt;
&lt;param value="m=http://ecn.channel9.msdn.com/o9/te/NorthAmerica/2010/wmv/FDN-1.wmv,thumbnail=http://www.msteched.com/Skins/TechEdOnline/Styles/images/DefaultPlayerBackground.png,autohide=true,showembed=true" name="initParams" /&gt;
&lt;param value="#00000000" name="background" /&gt;
&lt;param name="minRuntimeVersion" value="3.0.50106.0" /&gt;
&lt;param name="windowless" value="true" /&gt;
&lt;param name="enableGPUAcceleration" value="true" /&gt;
&lt;param name="autoUpgrade" value="true" /&gt;
  &lt;a href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.50106.0" style="text-decoration:none"&gt;
	  &lt;img src="http://www.msteched.com/Skins/TechEdOnline/Styles/images/NoSilverlight.jpg" alt="Get Microsoft Silverlight" style="border-style:none"/&gt;
  &lt;/a&gt;
&lt;/object&gt;

&lt;h2&gt;Tailspin Travel Downloads&lt;/h2&gt;
There are three new downloads on the &lt;a href="http://tailspintravel.codeplex.com/"&gt;CodePlex page&lt;/a&gt;.
&lt;h3&gt;Tailspin Travel Sample - VS 2010&lt;/h3&gt;
&lt;a href="http://tailspintravel.codeplex.com/releases/view/52030"&gt;Download&lt;/a&gt; | View at 24:10 in Video

&lt;a href="http://drewby.com/wp-content/uploads/2010/09/clip_image001.jpg"&gt;&lt;img title="clip_image001" src="http://drewby.com/wp-content/uploads/2010/09/clip_image001_thumb.jpg" height="116" width="181" align="left" alt="clip_image001" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" border="0" /&gt;&lt;/a&gt;This is the original Tailspin Travel sample updated to work with the released versions of &lt;a href="http://microsoft.com/visualstudio"&gt;Visual Studio 2010&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx"&gt;Windows Server AppFabric&lt;/a&gt;. The demo script shows how to deploy an MVC application using Visual Studio 2010 and then monitor, manage and scale the application using Windows Server AppFabric.

In the session, we also used this sample application for the first demo, showing off the new &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef?SRC=Home"&gt;Visual Studio Productivity Power Tools&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ff655021.aspx"&gt;Visualization and Modeling Feature Pack&lt;/a&gt;. You can catch this demo at 9:00 in the recorded video.
&lt;h3&gt;Tailspin Travel Sample - Sketchflow + RIA Services&lt;/h3&gt;
&lt;a href="http://tailspintravel.codeplex.com/releases/view/52129"&gt;Download&lt;/a&gt; | View at 38:51 in Video

&lt;a href="http://drewby.com/wp-content/uploads/2010/09/clip_image0015.jpg"&gt;&lt;img title="clip_image001[5]" src="http://drewby.com/wp-content/uploads/2010/09/clip_image0015_thumb.jpg" height="124" width="182" align="right" alt="clip_image001[5]" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" border="0" /&gt;&lt;/a&gt;In the session, we demonstrated how Visual Studio and the .NET Framework lets you make several experiences possible. One of those experiences was a Silverlight application using &lt;a href="http://www.silverlight.net/getstarted/riaservices/"&gt;RIA Services&lt;/a&gt;. The demo script included shows how to use &lt;a href="http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx"&gt;Sketchflow&lt;/a&gt; in &lt;a href="http://www.microsoft.com/expression/products/Blend_Overview.aspx"&gt;Microsoft Blend&lt;/a&gt; to prototype the application, including simulating user interaction with animations. We then (43:53) show how easy it is to build the application using Visual Studio 2010.
&lt;h3&gt;Tailspin Travel Sample - Windows Phone 7&lt;/h3&gt;
&lt;a href="http://tailspintravel.codeplex.com/releases/view/52131"&gt;Download&lt;/a&gt; | View at 48:10 in Video

&lt;a href="http://drewby.com/wp-content/uploads/2010/09/clip_image0017.jpg"&gt;&lt;img title="clip_image001[7]" src="http://drewby.com/wp-content/uploads/2010/09/clip_image0017_thumb.jpg" height="166" width="93" align="left" alt="clip_image001[7]" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" border="0" /&gt;&lt;/a&gt;&lt;a href="http://drewby.com/wp-content/uploads/2010/09/clip_image002.jpg"&gt;&lt;img title="clip_image002" src="http://drewby.com/wp-content/uploads/2010/09/clip_image002_thumb.jpg" height="166" width="93" align="left" alt="clip_image002" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" border="0" /&gt;&lt;/a&gt;

The final demo in the session showed how you can extend the Tailspin application to &lt;a href="http://developer.windowsphone.com/"&gt;Windows Phone 7&lt;/a&gt; using the same familiar tools and technologies. In this demo, we show off the new &lt;a href="http://expression.microsoft.com/en-us/ff977189.aspx"&gt;Windows Phone tooling for Microsoft Blend&lt;/a&gt;. We walk through how a developer can use Microsoft Blend to setup the look and feel of their application and bind data from the Tailspin web site to UI elements on the phone.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=-vU00lMu4Fg:vBs7CvT6fHo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=-vU00lMu4Fg:vBs7CvT6fHo:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=-vU00lMu4Fg:vBs7CvT6fHo:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/-vU00lMu4Fg" height="1" width="1"/&gt;</description><pubDate>Tue, 21 Sep 2010 21:00:01 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/update-to-the-tailspin-travel-demos-on-codeplex</guid></item><item><title>Is There Unsportsmanlike Conduct at Work?</title><link>http://drewby.com:80/is-there-unsportsmanlike-conduct-at-work</link><description>I had a conversation with a peer from a different team last week. We were talking about whether or not to send out an email letting people know about a “win” he had with a customer. He felt that sending the email was showing off and I wanted to convince him otherwise.

I was reminded of the conversation while watching some football games this weekend and the commentators were talking about new &lt;a href="http://en.wikipedia.org/wiki/Unsportsmanlike_conduct"&gt;unsportsmanlike conduct &lt;/a&gt;rules. These rules have to do with too much celebration after a touchdown or great play. Even with these rules in place, it would be pretty strange if teams didn’t celebrate a touchdown in the end zone.

Imagine a player, after a great catch or touchdown, ducking for cover and quietly walking back to the sideline as to avoid the appearance of showing off. It would never happen. Celebration is a key ingredient to momentum and driving further success for the team.

The same goes for work. A successful play is never complete without a little team celebration. It's not only appropriate, its necessary to drive momentum for more successes. A company or team that doesn’t celebrate its success will quickly grow anemic.

I can think of three ways you could respond after a success at work:
&lt;ol&gt;
	&lt;li&gt;Do nothing. Duck for cover and walk to the sideline. No one will know about the win. No one will learn from your success and no excitement or momentum will be created. It’s certainly the &lt;em&gt;safe thing&lt;/em&gt; to do if you’re concerned about showing off, but there is little benefit to the company and little benefit to your career.&lt;/li&gt;
	&lt;li&gt;Do a happy dance in the hallways of your organization and let everyone know why you are the best. Take all the credit and forget about any contributions that team members may have made. This is the equivalent to unsportsmanlike conduct and has the opposite effect of what you want. It demotivates the rest of the team and could even damage your standing in the organization.&lt;/li&gt;
	&lt;li&gt;Let people know about the win and thank them for their contributions. Talk about things that you think went right and be honest about challenges you had along the way. Let people learn from the success. Did I mention thanking others for their contributions? People can share in the success and it can be a great motivation boost.&lt;/li&gt;
&lt;/ol&gt;
There are a few things that you definitely don’t want to do:
&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;Never celebrate a touchdown at the 5 yard line.&lt;/em&gt; A touchdown is only a touchdown when you cross into the end zone.&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Don’t take all the credit.&lt;/em&gt; In football, whether it’s a good block, a great pass from the quarterback or a good position the special teams put you in, there are always other people to give credit to. The same goes for the office. You didn’t do it alone.&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Don't ignore the mistakes&lt;/em&gt;. There’s always room for improvement. Take note of the things you can do better next time. Perhaps there was a setback in the win that  could have been avoided, unnecessary fumbles or failed plays.&lt;/li&gt;
&lt;/ul&gt;
It's appropriate to share your successes with your team. If you take the right tact with your delivery, you can avoid unsportsmanlike conduct and make it a success for you and for the team.

Last thing is to not forget the small celebrations along the way. There's a guy on my team that regularly comes into the office and throws up a high-five. It could be for something as simple as getting a meeting setup with a customer, but its a little motivator each time to reach for the next first down.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=3LDY9WZ0s3g:kb8-bv5IOsc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=3LDY9WZ0s3g:kb8-bv5IOsc:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=3LDY9WZ0s3g:kb8-bv5IOsc:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/3LDY9WZ0s3g" height="1" width="1"/&gt;</description><pubDate>Mon, 13 Sep 2010 04:00:22 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/is-there-unsportsmanlike-conduct-at-work</guid></item><item><title>How do you get a job at Microsoft?</title><link>http://drewby.com:80/how-do-you-get-a-job-at-microsoft</link><description>I was at a birthday party for my son’s friend today and someone asked me “How do you go about getting a &lt;a href="https://careers.microsoft.com/JobDetails.aspx?jid=16930" target="_blank"&gt;job at a big company like Microsoft&lt;/a&gt;?”

It’s a great question and definitely not one that has a straight forward answer. It would be great if there was a really well-written computer program that could exactly match the right person with the right job. I wish it were that easy.

There are lots of resources on how to &lt;a href="http://en.wikipedia.org/wiki/Microsoft_interview" target="_blank"&gt;interview at Microsoft&lt;/a&gt;, but I don’t think that is what was behind the question. I think the uncertainty around applying for a job at a big company has little to do with the interview. At a company as large as Microsoft, there are a lot of hurdles to jump over even before you get an interview, many of which you have no control over or even ways of influencing.

The interview itself is time consuming and expensive, so before the interview is scheduled, we’re looking for any reasons not to interview a candidate. There are many things you can do to help get the interview and there are things you can do to guarantee that you don’t get an interview.

Here are some steps you can take to make sure you get that interview:

&lt;strong&gt;Make sure you are right for the job and the job is right for you.&lt;/strong&gt; This seems like it should be obvious, but we receive a lot of resumes from people who must not have read the job description. There are very few jobs at Microsoft that are going to accommodate a complete career change. You need to at least have the core skills and experiences required for the job and show that you can grow in the other areas.

&lt;strong&gt;Get someone (who has hired people before) to review your resume.&lt;/strong&gt; There are a couple pet-peeves that I have with resumes. First, I hate resumes that are too long. Resumes should be 2 pages at most. They should reflect what is recent and important in your career, not everything in your career. They should also include only what is relevant. Don’t include hobbies, don’t include your first job at a fast food restaurant and don’t include an endless list of skills or technologies that have nothing to do with the role you are applying to.

&lt;strong&gt;Improve your online presence.&lt;/strong&gt; One of the first things I do when I receive a resume is do a search online. I’m looking for a website, blog, twitter feed, or presentation at a community event. I’m not looking for “dirt” in their social network to disqualify them. Rather, I’m looking to see how a candidate communicates and represents themselves online. Can they write clearly? Are they credible? How do they handle questions, conflict, etc?

&lt;strong&gt;Network, network, network.&lt;/strong&gt; The best way to get the attention of the hiring manager in a large company is through a peer of the hiring manager. This does not mean a random person in the large company forwarding your resume internally. It needs to be someone known (and respected by) the hiring manager. Keeping a healthy professional network will make sure you are ready to take advantage of opportunities that come up with people in your network.

&lt;strong&gt;Submitting your resume is not enough.&lt;/strong&gt; At a big company like Microsoft, there are several filters that your resume must pass through before it reaches the hiring manager. Never expect that your resume will reach the hiring manager on its own. If you have a way to contact the hiring manager, you should follow-up to make sure they know your resume was submitted.

&lt;strong&gt;Ask for an informational meeting.&lt;/strong&gt; An informational is a 15-30 min meeting that gives you a chance to ask questions and make the hiring manager more familiar with yourself. It is much easier to setup than a full interview. Be careful not to oversell yourself in an informational. By asking the right questions, you can show that you understand the role and are self-aware enough to know whether you are right or wrong for the role.

If you get the interview, congratulations! Getting the interview means that you’ve got good experiences on your resume and have done the right things to get the attention of the hiring manager. Interviews can take a full day. Show up well-rested and with an extra dose of energy and passion.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=fr_isEsmxNo:54dgE8Ab5LE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=fr_isEsmxNo:54dgE8Ab5LE:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=fr_isEsmxNo:54dgE8Ab5LE:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/fr_isEsmxNo" height="1" width="1"/&gt;</description><pubDate>Tue, 07 Sep 2010 07:11:34 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/how-do-you-get-a-job-at-microsoft</guid></item><item><title>Using Web Deploy to Sync Your WebMatrix Site</title><link>http://drewby.com:80/using-web-deploy-to-sync-your-webmatrix-site</link><description>&lt;em&gt;Warning: this is an advanced scenario for WebMatrix. If you are not comfortable with the command prompt or inspecting large lists of files for changes, this post is not for you.&lt;/em&gt;

A couple weeks ago, I &lt;a href="http://drewby.com/2010/08/a-wordpress-blog-in-15-minutes-with-webmatrix/" target="_blank"&gt;setup a WordPress blog using WebMatrix and published it to Applied Innovations&lt;/a&gt;. Since then, I’ve been making changes to the site on the host using the WordPress admin. Today, I wanted to pull those changes back down to my computer so I can work on my site template locally.  But I want to work on it with the current set of plugins, configuration settings, and templates from the live site.

&lt;a href="http://microsoft.com/web/webmatrix" target="_blank"&gt;WebMatrix&lt;/a&gt; makes it really easy to deploy your site to a host. But the current beta does not support copying a site from the host down to your local computer. However, WebMatrix does use a very powerful deployment technology underneath the hood called &lt;a href="http://www.iis.net/download/WebDeploy" target="_blank"&gt;Web Deploy&lt;/a&gt;. Because all the hosts that support WebMatrix implement the Web Deployment service, you can use all the features of the Web Deploy tool at the command line to interact with their service.

Web Deploy provides several different operations (called verbs). You can dump a list of files from your site, get dependences and settings for a site or entire server, and you can sync files and settings between two computers or sites. In order to pull all the changes in the host back down to my computer, I used the &lt;strong&gt;sync&lt;/strong&gt; verb.

The Web Deploy command is called &lt;strong&gt;MSDeploy.exe&lt;/strong&gt; and is located at &lt;strong&gt;C:\Program Files\IIS\Microsoft Web Deploy&lt;/strong&gt;. If you run the MSDeploy.exe with no parameters, it will list out all of the supported verbs, objects and settings available for the tool.
&lt;h2&gt;Synchronize the Site Files&lt;/h2&gt;
To sync files from my host, I typed the following command:

(Split for readability, but should all be on one line)
&lt;pre class="brush: text"&gt;"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
    -verb:sync
    -source:iisApp=drewby,
               wmsvc=https://web01.appliedi-labs.net:8080/msdeploy.axd,
               username=[USERNAME],
               password=[PASSWORD]
    -dest:iisApp="[MY WEB SITES]\wordpress”
    -skip:absolutePath=wp-config.php&lt;/pre&gt;
 

The first parameter &lt;strong&gt;(-verb&lt;/strong&gt;) tells Web Deploy to use the verb of sync.

The second parameter &lt;strong&gt;(-source&lt;/strong&gt;) tells Web Deploy that I want to sync from the site on Applied Innovations server. The source is an IIS application (iisApp) with the name &lt;strong&gt;drewby&lt;/strong&gt;. Replace drewby with your site name. Applied Innovations provided the server name and port. Replace &lt;strong&gt;[USERNAME]&lt;/strong&gt; and &lt;strong&gt;[PASSWORD]&lt;/strong&gt; with your username and password.

The third parameter &lt;strong&gt;(-dest&lt;/strong&gt;) tells Web Deploy to sync to the IIS application located at the directory where you created your WebMatrix site. Replace &lt;strong&gt;[MY WEB SITES]&lt;/strong&gt; with wherever you store your web site projects. It is probably something like &lt;strong&gt;C:\Users\USERNAME\Documents\My Web Sites&lt;/strong&gt;.

The final parameter (&lt;strong&gt;-skip&lt;/strong&gt;) tells Web Deploy to skip the wp-config.php which contains the local application configuration for WordPress. For example, this contains the database connection information. I didn’t want to overwrite my local database connection.

When you execute this command, Web Deploy will connect to the server and compare all the files on the server with the files on your computer. It will add, update or delete any files that are different than whats on the server.

If you want to see what Web Deploy is going to do before it applies any changes, you can add one more parameter called &lt;strong&gt;–whatif&lt;/strong&gt;. This will list out all of the actions that it would take based on the comparison, but not actually make the changes.
&lt;h2&gt;Synchronize the Database&lt;/h2&gt;
You can also sync your database for WordPress. If you are using SQL Server, the functionality is built into Web Deploy. If you are using MySql, then you need to download an additional object type for Web Deploy called dbFullMySql.

You can &lt;a href="http://blogs.iis.net/msdeploy/archive/2009/03/30/msdeploy-sample-custom-provider-to-sync-mysql-databases-dbfullmysql.aspx" target="_blank"&gt;download this add-on here&lt;/a&gt; and follow the directions for adding it to the Web Deploy directory.

Once that is added, execute this command:

(Split for readability, but should all be on one line)
&lt;pre class="brush:text"&gt;"c:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
    -verb:sync
    -source:dbFullMySql="Server=mysql01.appliedi-labs.net;
               Database=drewby_wordpress;
               Uid=[USERNAME];
               Password=[PASSWORD]"
    -dest:dbFullMySql="Server=localhost;
               Database=wordpress;
               Uid=[USERNAME];
               Pwd=[PASSWORD]"&lt;/pre&gt;
You need to update the parameters in the connection string with your database server, database name, username and password for both the source and the destination. When you execute this command, Web Deploy will dump the source database into a script and then execute that script against the destination database.
&lt;h2&gt;Fix the WordPress SiteUrl&lt;/h2&gt;
One last thing that you need to do is update the &lt;strong&gt;siteurl&lt;/strong&gt; and &lt;strong&gt;home&lt;/strong&gt; URL stored in the synced database. These were updated when you synced the database down to your computer. If you do not fix this, when you try to login to your blog on your local computer, you’ll be redirected to the instance deployed on your host. &lt;a href="http://drewby.com/wp-content/uploads/2010/09/image.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/09/image_thumb.png" border="0" alt="image" width="119" height="240" align="right" /&gt;&lt;/a&gt;

You can use WebMatrix to do this. Open your site in WebMatrix. Click the &lt;strong&gt;Databases&lt;/strong&gt; button in the left pane. If you configured WordPress with WebMatrix, you’ll see your database listed. Otherwise, click &lt;strong&gt;New Connection&lt;/strong&gt; in the ribbon and connect to your database.

Expand Tables and double-click the wp_options table to open it. Locate the row with option_name set to &lt;strong&gt;siteurl&lt;/strong&gt;. Update the option_value column to be the URL of your local WebMatrix site. For example, mine was &lt;a href="http://localhost:11489"&gt;http://localhost:11489&lt;/a&gt;. Locate &lt;strong&gt;home&lt;/strong&gt; and set it to the same URL.

&lt;a href="http://drewby.com/wp-content/uploads/2010/09/image1.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/09/image_thumb1.png" border="0" alt="image" width="624" height="91" /&gt;&lt;/a&gt;

Now you have a local version of WordPress with identical configuration as the one hosted on the web.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=LwFL60kCJKY:MQx0-ng2GPU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=LwFL60kCJKY:MQx0-ng2GPU:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=LwFL60kCJKY:MQx0-ng2GPU:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/LwFL60kCJKY" height="1" width="1"/&gt;</description><pubDate>Fri, 03 Sep 2010 08:35:02 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/using-web-deploy-to-sync-your-webmatrix-site</guid></item><item><title>Consuming StackOverflow with WebMatrix and OData</title><link>http://drewby.com:80/consuming-stackoverflow-with-webmatrix-and-odata</link><description>&lt;a href="http://microsoft.com/web/webmatrix" target="_blank"&gt;WebMatrix&lt;/a&gt; makes it really easy to build websites on Windows. The &lt;a href="http://odata.org" target="_blank"&gt;Open Data Protocol&lt;/a&gt; (OData) provides a standard way to query data on the web, making it really easy to access &lt;a href="http://odata.org/producers" target="_blank"&gt;all sorts of data&lt;/a&gt; made available through popular websites like &lt;a href="http://stackoverflow.com/" target="_blank"&gt;StackOverflow&lt;/a&gt;. So its only natural that you could use WebMatrix and OData together to quickly integrate a rich dataset into your website.

The first thing to do is to &lt;a href="http://www.microsoft.com/web/webmatrix/download/" target="_blank"&gt;download and install WebMatrix&lt;/a&gt;.

Next you’ll want to download the &lt;a href="http://odatahelper.codeplex.com/" target="_blank"&gt;OData Helper from CodePlex&lt;/a&gt;. This contains some extra functionality to simplify including OData feeds in your site. Click the Download button, accept the license agreement and save the binary to a folder on your computer. We’ll use this in just a moment.

You can now create a website (or modify an existing website you’ve already created in WebMatrix). For this example, we’ll create a site from template. &lt;a href="http://drewby.com/wp-content/uploads/2010/08/image27.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb25.png" border="0" alt="image" width="156" height="156" align="right" /&gt;&lt;/a&gt; Choose the &lt;strong&gt;Empty Site&lt;/strong&gt; template.

In the left pane, click the &lt;strong&gt;Files&lt;/strong&gt; tab. You’ll see only one file called &lt;strong&gt;index.cshtml&lt;/strong&gt;. This is the default file that is served when someone points their browser at your website. Open the file by double-clicking and you’ll see this code:
&lt;pre class="brush:html"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;

    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
To add the OData Helper to your website, do the following:
&lt;ol&gt;
	&lt;li&gt;Right-click the file-list and select &lt;strong&gt;New Folder&lt;/strong&gt;. Name the folder “&lt;strong&gt;bin&lt;/strong&gt;”. This is short for binary and is a folder containing extra libraries to support your website.&lt;/li&gt;
	&lt;li&gt;Right-click the new folder and select &lt;strong&gt;Add Existing File…&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;Locate the file (&lt;strong&gt;Microsoft.Samples.WebPages.Helpers.OData.dll&lt;/strong&gt;) that you downloaded earlier and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
Now you are ready to consume an OData feed in your website.
&lt;h2&gt;Query the Feed and Render to a Grid&lt;/h2&gt;
We’ll start by adding the following code to your &lt;strong&gt;index.cshtml&lt;/strong&gt; right beneath the &amp;lt;head&amp;gt; element.
&lt;pre class="brush:csharp"&gt;@using Microsoft.Samples.WebPages.Helpers
@{
    var result = OData.Get("http://odata.stackexchange.com/stackoverflow/atom/Posts");
    var grid = new WebGrid(result);
}&lt;/pre&gt;
The first line tells the page that we want to use classes from the &lt;strong&gt;Microsoft.Samples.WebPages.Helpers&lt;/strong&gt; namespace. All this does is shorten our code by not requiring us to type that namespace every time we want to call the OData class.

The next block of code has two lines. The first line makes a request to StackOverflow’s OData feed to get back all Posts. The second line creates a new WebGrid using the result.

In order to render the WebGrid in the page, we need to add one more line of code underneath the body element:
&lt;pre class="brush:csharp"&gt;@grid.GetHtml();&lt;/pre&gt;
Your &lt;strong&gt;index.cshtml&lt;/strong&gt; code should now look like this:
&lt;pre class="brush:html"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
@using Microsoft.Samples.WebPages.Helpers
@{
    var result = OData.Get("http://odata.stackexchange.com/stackoverflow/atom/Posts");
    var grid = new WebGrid(result);
}
        &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
    @grid.GetHtml();
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
Now you can run your web page and see the results. Be sure that &lt;strong&gt;index.cshtml&lt;/strong&gt; is selected in the Files list and then click &lt;strong&gt;Run&lt;/strong&gt; in the WebMatrix ribbon. The output will look similar to the following:

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image29.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb27.png" border="0" alt="image" width="617" height="484" /&gt;&lt;/a&gt;
&lt;h2&gt;Make it Look Better&lt;/h2&gt;
That doesn’t look very pretty and probably has more detail in the output than you’d like. So let’s clean this up a little.

Switch back to WebMatrix and find the @grid.GetHtml() code. Change this code to match the following:
&lt;pre class="brush:csharp"&gt;    @grid.GetHtml(tableStyle: "dg_table",
     headerStyle: "dg_header",
     alternatingRowStyle: "dg_altrow",
     columns: grid.Columns(
          grid.Column("Title", header: "Title"),
          grid.Column("ViewCount", header: "Views"),
          grid.Column("AnswerCount", header: "Answers"),
          grid.Column("CommentCount", header: "Comments"))
     );&lt;/pre&gt;
This tells the WebGrid how we want to render our table. The first three parameters define &lt;a href="http://www.w3schools.com/CSS" target="_blank"&gt;CSS style attributes&lt;/a&gt; that we want to use for different parts of the the grid. The last parameter defines the set of columns that we want to display from our source data. We’ll display the Title, ViewCount, AnswerCount and CommentCount.

To use the CSS style attributes, we need to add a &amp;lt;style&amp;gt; section to the header just before the &amp;lt;/head&amp;gt; closing tag. Add the following style code :
&lt;pre class="brush:css"&gt;.dg_table {
    border-collapse: collapse;
    font-family: "Trebuchet MS", Arial, Helvetica, Sans-Serif;
    font-weight: normal;
    text-align: left;
    margin-top: 5px;
}

.dg_header {
    background-color: Grey;
    font-weight: bold;
    color: #FFF;
}

.dg_table th, .dg_table td {
    border:1px solid #C0C0C0;
    padding: 5px;
}

.dg_altrow {
    background-color: #EAF2D3;
    color: #000;
}

.dg_header a:active, .dg_header a:hover, .dg_header a:link, .dg_header a:visited {
    color: #FFF;
    text-decoration: none;
}&lt;/pre&gt;
Expand the following code to see how your &lt;strong&gt;index.cshtml&lt;/strong&gt; should now look.
&lt;pre class="brush:html; collapse: true"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
@using Microsoft.Samples.WebPages.Helpers
@{
    var result = OData.Get("http://odata.stackexchange.com/stackoverflow/atom/Posts");
    var grid = new WebGrid(result);
}
        &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;style&amp;gt;
        .dg_table {
            border-collapse: collapse;
            font-family: "Trebuchet MS", Arial, Helvetica, Sans-Serif;
            font-weight: normal;
            text-align: left;
            margin-top: 5px;
        }

        .dg_header {
            background-color: Grey;
            font-weight: bold;
            color: #FFF;
        }

        .dg_table th, .dg_table td {
            border:1px solid #C0C0C0;
            padding: 5px;
        }

        .dg_altrow {
            background-color: #EAF2D3;
            color: #000;
        }

        .dg_header a:active, .dg_header a:hover, .dg_header a:link, .dg_header a:visited {
            color: #FFF;
            text-decoration: none;
        }
    &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
    @grid.GetHtml(tableStyle: "dg_table",
     headerStyle: "dg_header",
     alternatingRowStyle: "dg_altrow",
     columns: grid.Columns(
          grid.Column("Title", header: "Title"),
          grid.Column("ViewCount", header: "Views"),
          grid.Column("AnswerCount", header: "Answers"),
          grid.Column("CommentCount", header: "Comments"))
     );
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
Now try running the application again, and you will have a nicely formatted grid that looks something like the following:

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image30.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb28.png" border="0" alt="image" width="644" height="455" /&gt;&lt;/a&gt;
&lt;h2&gt;Refine the Query&lt;/h2&gt;
This looks better, but you probably don’t want to return all the questions from StackOverflow. So let’s change our query to the StackOverflow service to do the following:
&lt;ul&gt;
	&lt;li&gt;Only return questions that are tagged with OData&lt;/li&gt;
	&lt;li&gt;Order the results by date created, in descending order.&lt;/li&gt;
&lt;/ul&gt;
Locate the line of code starting with &lt;strong&gt;OData.Get&lt;/strong&gt;. We need to add two parameters to the query. The first will be &lt;strong&gt;$filter=substringof(‘&amp;lt;OData&amp;gt;’), TagNames)&lt;/strong&gt;. This looks for the substring of &amp;lt;OData&amp;gt; within the TagNames field. The second will be &lt;strong&gt;$orderby=CreationDate desc&lt;/strong&gt; which gets the results in the order we’d like.

To specify these parameters change the line of code to this:
&lt;pre class="brush:csharp"&gt;var result = OData.Get("http://odata.stackexchange.com/stackoverflow/atom/Posts",
     "$filter=substringof('$lt;OData&amp;gt;', TagNames)&amp;amp;$orderby=CreationDate desc");&lt;/pre&gt;
 

Run this again and your output will look something like the following:

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image31.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb29.png" border="0" alt="image" width="644" height="455" /&gt;&lt;/a&gt;

The final modification we’ll make is to make the Title column a link. You can do this by changing the first column definition to the following:
&lt;pre class="brush:csharp"&gt;grid.Column(format:@&amp;lt;a href="http://stackoverflow.com/questions/@item.Id"&amp;gt;@item.Title&amp;lt;/a&amp;gt;, header: "Title"),&lt;/pre&gt;
 
&lt;h2&gt;Additional Resources&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=196450" target="_blank"&gt;How to Create an ASP.NET Application from Scratch Using WebMatrix Beta&lt;/a&gt; (&lt;a href="http://mediadl.microsoft.com/mediadl/www/s/silverlight/video/web/webmatrix/walkthrough1b.mp4" target="_blank"&gt;Video&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.jamessenior.com/post/Announcing-the-OData-Helper-for-WebMatrix-Beta.aspx" target="_blank"&gt;Announcing the OData Helper for WebMatrix Beta&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://odata.stackexchange.com/" target="_blank"&gt;More OData feeds from StackOverflow&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://odata.org/Producers" target="_blank"&gt;Other OData Feeds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=_Qx775t_MKE:KA7QW3Clpnw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=_Qx775t_MKE:KA7QW3Clpnw:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=_Qx775t_MKE:KA7QW3Clpnw:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/_Qx775t_MKE" height="1" width="1"/&gt;</description><pubDate>Mon, 30 Aug 2010 23:41:10 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/consuming-stackoverflow-with-webmatrix-and-odata</guid></item><item><title>What does a Technical Evangelist do?</title><link>http://drewby.com:80/what-does-a-technical-evangelist-do</link><description>&lt;p&gt;I often get the question of what does a Technical Evangelist do? Is it Marketing? Sales? That question has come to me even more now that we have an &lt;a href="https://careers.microsoft.com/JobDetails.aspx?jid=16930" target="_blank"&gt;open position&lt;/a&gt; on my team, so I thought I’d take a moment to explain here.&lt;/p&gt; &lt;p&gt;I’ll start with a big caveat. Evangelism can mean very different things depending on the company. And at a place as big as Microsoft, it can mean different things depending on what division you work for and whether you work&amp;nbsp; “in the field” or at the corporate office in Redmond.&lt;/p&gt; &lt;p&gt;Even in our group at Microsoft, called Platform Evangelism, the activities and results for each evangelist can vary depending on their evangelism style and that of their manager. I suppose I could title this post as “What does a Technical Evangelist on Drew Robbins team do?” &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://drewby.com/wp-content/uploads/2010/08/wlEmoticonsmile.png"&gt;, but I’ll write some of the general activities and expectations here.&lt;/p&gt; &lt;h3&gt;1. Build Great Content&lt;/h3&gt; &lt;p&gt;Lots of what we do starts with building great content. We work with technologies very early in the product cycle. As soon as they can be installed internally, we will begin testing the technology and thinking about what content we need to build. Being one of the first people to get your hands on technology is pretty exciting.&lt;/p&gt; &lt;p&gt;The content we build will be used to start initial conversations with early adopters. It will usually make its way into a training kit that is used for delivering events around the world. The training kits are also made available to the community for use in user groups, code camps and other community events.&lt;/p&gt; &lt;p&gt;Many of the technical evangelists contribute to the content that is on Channel9. Some evangelists will start a regular show on Channel9 where viewers can get an update on the technology they are focused on. Other evangelists contribute to broader shows like the popular This Week on Channel9.&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image22.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb21.png" width="240" height="180"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;We all contributed to the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en" target="_blank"&gt;Visual Studio 2010 and .NET Framework 4 Training Kit&lt;/a&gt;  &lt;li&gt;Jonathan Carter created the &lt;a href="http://tailspintravel.codeplex.com/" target="_blank"&gt;TailSpin Travel Demo&lt;/a&gt;  &lt;li&gt;James Senior drove many of the &lt;a href="http://www.microsoft.com/web/webapptoolkits/default.aspx" target="_blank"&gt;Web Application Toolkits&lt;/a&gt;  &lt;li&gt;Ron Jacobs on &lt;a href="http://channel9.msdn.com/shows/Endpoint/" target="_blank"&gt;EndPoint.TV Show on Channel9&lt;/a&gt;  &lt;li&gt;Brian Keller on &lt;a href="http://channel9.msdn.com/shows/This+Week+On+Channel+9/" target="_blank"&gt;This Week on Channel9&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;2. Drive Depth Adoption&lt;/h3&gt; &lt;p&gt;Another regular activity of technical evangelism is driving adoption with strategic customers who are willing to become early adopters of our products. This early adoption drives specific feedback to the product teams on how the product is being used and what issues customers are running into that need to be addressed before the product ships.&lt;/p&gt; &lt;p&gt;These customers often join Microsoft on stage at events like PDC, MIX and TechEd to talk about their use of the technology.&amp;nbsp; They also show up in case studies and press releases and become examples for other customers that the technology can provide value to their business when the technology is released.&lt;/p&gt; &lt;p&gt;Examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Jonathan Carter was behind the &lt;a href="http://developer.netflix.com/docs/OData_Catalog" target="_blank"&gt;Netflix OData catalog&lt;/a&gt;  &lt;li&gt;Brian Keller drove a Technology Adoption Program for pre-releases of Visual Studio 2010 with over 100 customers &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;3. Scale Through The Field&lt;/h3&gt; &lt;p&gt;There is typically only one Technical Evangelist in our group focused on each technology at Microsoft.&amp;nbsp; There is no way we can reach all the potential customers and markets in the world. An important part of being a Technical Evangelist is enabling the worldwide field by giving them great content and supporting them in depth adoption wins. We do this by working with the many evangelists that are in the field.&lt;/p&gt; &lt;p&gt;Part of enabling the field is helping the field understand the strategic value of the technology to Microsoft and the value that it will bring our customers. The field must evangelize a lot of technologies, so having focused and actionable content for them to deliver in events and customer engagements is critical to the success of the evangelism of a technology.&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image23.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb22.png" width="241" height="157"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;James Senior organizes &lt;a href="http://webcamps.ms" target="_blank"&gt;Web Camps&lt;/a&gt; with the field around the world  &lt;li&gt;Brian Keller is a top presenter at our internal technical conference for the field &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;4. Impact The Product&lt;/h3&gt; &lt;p&gt;Technical Evangelists are often the voice of the customer for the product team, especially when the product is early in development. Through the early adoption activities, we give opportunities for customers to provide feedback and let the product team know where a product is not meeting their need. Many of the technical evangelists become virtual members of the product team, meeting with them regularly to contribute to planning and updates.&lt;/p&gt; &lt;p&gt;Examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Ron Jacobs created the first version of the &lt;a href="http://www.asp.net/downloads/starter-kits/wcf-rest" target="_blank"&gt;WCF REST Starter Kit&lt;/a&gt; which helped defined features in .NET Framework 4.  &lt;li&gt;&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image24.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" class="alignright" title="image" border="0" alt="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb23.png" width="240" height="38"&gt;&lt;/a&gt;Jonathan Carter attends design meetings for product teams to provide feedback from his work with top websites adopting the &lt;a href="http://odata.org" target="_blank"&gt;Open Data Protocol&lt;/a&gt;.&amp;nbsp; &lt;li&gt;Brian Keller organizes weekly roundtables with key customers to review product plans for our ALM products. &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;5. Deliver Great Events&lt;/h3&gt; &lt;p&gt;We also help with events that Platform Evangelism produces such as &lt;a href="http://microsoftpdc.com" target="_blank"&gt;PDC&lt;/a&gt;, &lt;a href="http://visitmix.com/events" target="_blank"&gt;MIX&lt;/a&gt; and &lt;a href="http://www.msteched.com" target="_blank"&gt;TechEd&lt;/a&gt;. We help organize the content that goes into the track and we often will build the demos that get shown in the keynotes. In fact, a lot of our work ends up getting delivered for the first time at these events before they spread into other activities.&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image25.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb24.png" width="309" height="79"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In addition to the big events, we drive smaller events around the world that help raise awareness for our technologies and identify early adopters.&lt;/p&gt; &lt;p&gt;Examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Our team owns the Framework &amp;amp; Tools track at PDC and MIX and organizes the product teams presenting in that track.  &lt;li&gt;Jonathan Carter drove the &lt;a href="http://tailspintravel.codeplex.com/" target="_blank"&gt;Tailspin Travel&lt;/a&gt; demo that was in the PDC keynote last year. He also delivered a demo on &lt;a href="http://odata.org" target="_blank"&gt;OData&lt;/a&gt; for Doug Purdy’s keynote at MIX this year.  &lt;li&gt;We created the content for &lt;a href="http://www.msteched.com/2010/NorthAmerica/FDN-1" target="_blank"&gt;Jason Zander’s foundational session&lt;/a&gt; at TechEd US.&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Growth and Opportunities&lt;/h2&gt; &lt;p&gt;The Technical Evangelist is a challenging and fun role at Microsoft which requires a lot of experiences. It also requires a lot of self-awareness and willingness to stretch and grow in the role.&lt;/p&gt; &lt;p&gt;As a Technical Evangelist you’ll work on a lot of skills. You’ll improve on your technical competency as you’re challenged to understand and explain technology at the value prop level and also dive deep under the hood. You will learn to communicate effectively both internally and externally to Microsoft, to audiences of 10 and audiences of 10,000. You will also learn to influence – to bring people together around a common idea, strategy and game plan. Many of these skills translate into becoming a leader inside Microsoft as your influence and scope increase.&lt;/p&gt; &lt;p&gt;Although we love our jobs, Technical Evangelists don’t necessarily stay Technical Evangelists forever. We have evangelists who have stepped into senior Product Management and Program Management roles. Other Technical Evangelists have moved into Sales or Marketing and others have moved to other teams within Developer &amp;amp; Platform Evangelism that focus on specific verticals or industry scenarios.&lt;/p&gt; &lt;p&gt;If you’re interested in joining our team, &lt;a href="https://careers.microsoft.com/JobDetails.aspx?jid=16930" target="_blank"&gt;apply on the careers site&lt;/a&gt; and let me know by &lt;a href="http://drewby.com/contact/" target="_blank"&gt;contacting me&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=N4qL0jaSzsM:L6OttBhpdro:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=N4qL0jaSzsM:L6OttBhpdro:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=N4qL0jaSzsM:L6OttBhpdro:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/N4qL0jaSzsM" height="1" width="1"/&gt;</description><pubDate>Thu, 26 Aug 2010 06:13:55 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/what-does-a-technical-evangelist-do</guid></item><item><title>Visual Studio LightSwitch Training Kit</title><link>http://drewby.com:80/visual-studio-lightswitch-training-kit</link><description>&lt;a href="http://blogs.msdn.com/b/jasonz/archive/2010/08/23/lightswitch-beta1-now-available-building-your-first-app.aspx" target="_blank"&gt;Jason Zander announced&lt;/a&gt; on his blog today that Visual Studio LightSwitch Beta 1 is now available for download. You can now &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=37551a54-bfd3-4af6-a513-676bbb2dfb69" target="_blank"&gt;download the beta bits&lt;/a&gt; and start building applications.

We’ve also released the &lt;a href="http://bit.ly/VSLightSwitchTK" target="_blank"&gt;Visual Studio LightSwitch Training Kit&lt;/a&gt; that will help you learn about the product and how you can extend LightSwitch with your own components and services.
&lt;h2&gt;What is Visual Studio LightSwitch?&lt;/h2&gt;
LightSwitch is the simplest way to build business applications for the desktop and cloud. LightSwitch gives you a fast way to build professional-quality applications by handling many of the routine tasks of application development.

Learn more about LightSwitch here: &lt;a title="http://www.microsoft.com/visualstudio/en-us/lightswitch" href="http://www.microsoft.com/visualstudio/en-us/lightswitch"&gt;http://www.microsoft.com/visualstudio/en-us/lightswitch&lt;/a&gt;
&lt;h2&gt;Who should use the Visual Studio LightSwitch Training Kit?&lt;/h2&gt;
The Visual Studio LightSwitch training kit contains two different types of content.

The first type will walk you through Visual Studio LightSwitch and show you how to build your first application. This content is targeted at the anyone who is interested in LightSwitch and the only thing you need installed is &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=37551a54-bfd3-4af6-a513-676bbb2dfb69" target="_blank"&gt;Visual Studio LightSwitch&lt;/a&gt;.

The second type of content shows the professional developer how they can extend Visual Studio LightSwitch with their own components and services. The advanced content  requires that you install &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=37551a54-bfd3-4af6-a513-676bbb2dfb69" target="_blank"&gt;Visual Studio LightSwitch&lt;/a&gt; on a machine with &lt;a href="http://www.microsoft.com/visualstudio/en-us/download" target="_blank"&gt;Visual Studio Professional, Premium or Ultimate&lt;/a&gt;.
&lt;h2&gt;What is in the Visual Studio Training Kit?&lt;/h2&gt;
In this release of the Visual Studio Training Kit, there are four hands-on labs. We will be adding more hands-on labs and demos to the training kit in the future. So keep checking back for updates!
&lt;h3&gt;1. LightSwitch: Simple Book Store Application&lt;/h3&gt;
This Hands-On Lab will guide you through the creation of a book management application, using Visual Studio LightSwitch by leveraging LightSwitch's core capabilities.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image141.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image14_thumb.png" border="0" alt="image" width="440" height="326" /&gt;&lt;/a&gt;
&lt;h3&gt;2. Enhancing the LightSwitch Book Store Application&lt;/h3&gt;
This Hands-On Lab will guide you through more advanced capabilities of LightSwitch. In this Hands-On Lab you will learn how to use an external data source, use calculated properties and you will go through the process of publishing and installing a LightSwitch application.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image26.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image26_thumb.png" border="0" alt="image" width="440" height="257" /&gt;&lt;/a&gt;
&lt;h3&gt;3. LightSwitch Control Extensions&lt;/h3&gt;
In this Hands-on Lab you will be walked through the creation of a LightSwitch custom control. This control will be used to display an address in a Silverlight BingMap control.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image32.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image32_thumb.png" border="0" alt="image" width="400" height="319" /&gt;&lt;/a&gt;
&lt;h3&gt;4. LightSwitch Data Source Extensions&lt;/h3&gt;
In this Hands-on Lab you will develop a data source adapter for an XML data source.Additionally you will create business entities to be represented as LightSwitch tables. The aforementioned functionality will be exposed through WCF RIA Service in order for it to be consumed from LightSwitch applications.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image37.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image37_thumb.png" border="0" alt="image" width="440" height="291" /&gt;&lt;/a&gt;
&lt;h2&gt;Other Resources&lt;/h2&gt;
There is a &lt;a href="http://channel9.msdn.com/posts/funkyonex/Visual-Studio-LightSwitch-Beyond-the-Basics/" target="_blank"&gt;great video&lt;/a&gt; on &lt;a href="http://channel9.msdn.com" target="_blank"&gt;Channel9&lt;/a&gt; by &lt;a href="http://blogs.msdn.com/b/bethmassi/" target="_blank"&gt;Beth Massi&lt;/a&gt; and Joe Binder about how Visual Studio LightSwitch can be extended: &lt;a href="http://channel9.msdn.com/posts/funkyonex/Visual-Studio-LightSwitch-Beyond-the-Basics/" target="_blank"&gt;Visual Studio LightSwitch – Beyond the Basics&lt;/a&gt;

Here are some additional resources:
	&lt;li&gt;&lt;a href="http://msdn.com/lightswitch" target="_blank"&gt;&lt;span class="resourceTitle"&gt;&lt;span style="font-size: x-small;"&gt;Visual Studio LightSwitch Dev Center&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://blogs.msdn.com/lightswitch" target="_blank"&gt;&lt;span class="resourceTitle"&gt;&lt;span style="font-size: x-small;"&gt;Visual Studio LightSwitch Team Blog&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/category/vslightswitch" target="_blank"&gt;&lt;span class="resourceTitle"&gt;&lt;span style="font-size: x-small;"&gt;Visual Studio LightSwitch Forums&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff851953.aspx" target="_blank"&gt;&lt;span class="resourceTitle"&gt;&lt;span style="font-size: x-small;"&gt;Visual Studio LightSwitch Documentation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=EgGHP3CsrPs:n-MTUrih0RI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=EgGHP3CsrPs:n-MTUrih0RI:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=EgGHP3CsrPs:n-MTUrih0RI:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/EgGHP3CsrPs" height="1" width="1"/&gt;</description><pubDate>Mon, 23 Aug 2010 22:01:56 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/visual-studio-lightswitch-training-kit</guid></item><item><title>A WordPress Blog in 15 Minutes with WebMatrix</title><link>http://drewby.com:80/a-wordpress-blog-in-15-minutes-with-webmatrix</link><description>I’ve been playing with &lt;a href="http://www.microsoft.com/web/webmatrix/" target="_blank"&gt;WebMatrix&lt;/a&gt; quite a bit and wanted to see how long it would take to get a blog application configured and published to a host. &lt;a href="http://www.codeproject.com/KB/aspnet/15_Minute_Blog_Site.aspx" target="_blank"&gt;Laurence had a great experience&lt;/a&gt; configuring BlogEngine.NET with WebMatrix, so I thought I’d try the popular &lt;a href="http://wordpress.org/" target="_blank"&gt;WordPress&lt;/a&gt; blog platform. I was surprised how easy it was to not only get configured on my local machine, but then upload to a host.
&lt;h2&gt;Why not WordPress.com?&lt;/h2&gt;
You might ask why not just go to WordPress.com and start a blog? That’s a great question and using an existing blog host is the easiest way to start any blog.

I wanted to host my own WordPress blog for a few reasons. I didn’t want to transfer my domain to WordPress and I want more control over my WordPress configuration. By downloading with WebMatrix to my computer first, I can tinker and change the blog before publishing it out to my host.
&lt;h2&gt;What is WebMatrix?&lt;/h2&gt;
WebMatrix is an easy way to get started with web development on Windows. It takes the pain out of getting your computer configured to run popular web applications like WordPress. It also includes powerful deployment software to make uploading your work to a host very simple.

You can read more about WebMatrix at &lt;a title="http://www.microsoft.com/web/webmatrix/" href="http://www.microsoft.com/web/webmatrix/"&gt;http://www.microsoft.com/web/webmatrix/&lt;/a&gt;

Install WebMatrix from here: &lt;a title="http://www.microsoft.com/web/webmatrix/download/" href="http://www.microsoft.com/web/webmatrix/download/"&gt;http://www.microsoft.com/web/webmatrix/download/&lt;/a&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;
After you have WebMatrix installed, launch it and you’ll see the following welcome screen:

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb1.png" border="0" alt="image" width="925" height="640" /&gt;&lt;/a&gt;

To create a web site using a popular web application, click the &lt;strong&gt;Site From Web Gallery&lt;/strong&gt; option.&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image1.png" border="0" alt="image" width="114" height="112" /&gt; 

You’ll see a list of options for lots of popular web applications. Select &lt;strong&gt;WordPress&lt;/strong&gt; and click &lt;strong&gt;Next&lt;/strong&gt;.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image3.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; margin-left: 0px; margin-right: 0px; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb2.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

The next several screens will walk you through the configuration of MySQL (the default database for WordPress) and the WordPress software.

First, you can choose whether to install MySQL locally or use an instance of MySQL on another computer. I chose to install it locally.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image4.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb3.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Because I’m installing locally, I need to define a password for the MySQL admin account. Remember this password, because you’ll need it in a minute.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image5.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb4.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

The next screen allows you to read the End User License Agreements for each of the pieces of software and then accept them in one click.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image6.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb5.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Now that MySQL is installed, WebMatrix will create the WordPress database for you. This screen asks you for some basic information. In most cases you can use the defaults. You do need to define a Database password for the WordPress database and also enter the MySQL administrator password you defined earlier.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image7.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb6.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

The last four questions ask for unique keys to further protect the passwords that will be stored in the database. You can simply type in random sentences here, or you can use a the &lt;a href="http://api.wordpress.org/secret-key/1.1/" target="_blank"&gt;security key generator&lt;/a&gt; from wordpress.org for more secure keys. Click the URL and it will generate keys for you. Copy each key into text boxes – it does not matter which order and you do not need to remember the keys.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image8.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb7.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Finally, you’ll see the screen that shows you’ve successfully installed WordPress.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image9.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb8.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Click, OK and you’ll be taken to the WebMatrix site page where you can begin working with you’re new WordPress blog. You can launch WordPress by clicking the http://localhost:#### Url shown at the top of the page.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image10.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb9.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Once you’ve launched your blog, you can click through the intial WordPress screens. WordPress will ask you for a name for your blog and your email address. Then it will generate an Admin password for you. You should use this password to log in the first time and then immediately change it to something you will remember.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image11.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb10.png" border="0" alt="image" width="960" height="783" /&gt;&lt;/a&gt;

Now you can tinker with WordPress and get it setup the way you want.
&lt;h2&gt;Publishing Your WordPress Blog to a Host&lt;/h2&gt;
Once you are done getting your WordPress blog setup, you will want to publish it to a host. WebMatrix makes this really easy. Click the &lt;strong&gt;Publish&lt;/strong&gt; button in the tab bar and choose &lt;strong&gt;Find Web Hosting&lt;/strong&gt;. You’ll see a list of several web hosting providers which you can research and choose from. Click the provider and sign up for an account.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image12.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb11.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image13.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb12.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

Once you’ve signed up for a hosting account and received your account information, click the &lt;strong&gt;Publish&lt;/strong&gt; button again and choose &lt;strong&gt;Configure&lt;/strong&gt;. Enter the information sent to you by your hosting provider. Click Validate Connection to test that you are able to connect to the hosting provider.

For the Database configuration, you’ll need to enter a connection string. Some of the hosts will require you to create a database using their control panel. Once you have the information, create a connection string like the following and enter into the configuration in WebMatrix:

Server=SERVER_NAME;Database=DATABASE_NAME;Uid=DATABASE_USER;Password=DATABASE_PASSWORD

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image14.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb13.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image15.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb14.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

When you are ready, click Publish. WebMatrix will compare you’re local files to the ones on the server and tell you what changes need to be made. Of course, on this first upload all of the files are new. Check the database checkbox so that the database is upload. Click Continue to start the process.

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image16.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb15.png" border="0" alt="image" width="926" height="641" /&gt;&lt;/a&gt;

You can monitor the publishing process at the bottom of the WebMatrix window. Once it is complete, you’ll see a message like the following:

&lt;a href="http://drewby.com/wp-content/uploads/2010/08/image17.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://drewby.com/wp-content/uploads/2010/08/image_thumb16.png" border="0" alt="image" width="913" height="89" /&gt;&lt;/a&gt;

Now click the Go to link to see your blog running at the hosting provider.
&lt;h2&gt;Now What?&lt;/h2&gt;
WebMatrix is a great tool for getting popular web applications downloaded, configured, and then published to a host. However, it also is a great tool for writing code. With WordPress configured, you can now use WebMatrix to create plugins and themes for WordPress or create additonal PHP or ASP.NET pages (they can be mixed in the same site).

To get started writing code, click the Files button in the left-side panel of WebMatrix. Expand wp-content and you’ll see&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=wEUB3O-Vv7k:2YFgQFXmTuY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Drewby?a=wEUB3O-Vv7k:2YFgQFXmTuY:1DskzlzyLyw"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Drewby?i=wEUB3O-Vv7k:2YFgQFXmTuY:1DskzlzyLyw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Drewby/~4/wEUB3O-Vv7k" height="1" width="1"/&gt;</description><pubDate>Thu, 19 Aug 2010 22:45:33 GMT</pubDate><guid isPermaLink="true">http://drewby.com:80/a-wordpress-blog-in-15-minutes-with-webmatrix</guid></item></channel></rss>
