<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Global Nerdy &#187; ASP.NET</title>
	<atom:link href="http://www.globalnerdy.com/tag/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.globalnerdy.com</link>
	<description>Tech Evangelist Joey deVilla on software development, tech news and other nerdy stuff</description>
	<lastBuildDate>Thu, 19 Nov 2009 02:16:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;Canada&#8217;s Next Top Model View Controller&#8221; Presentation at Metro Toronto .NET User Group Next Thursday</title>
		<link>http://www.globalnerdy.com/2009/05/21/canadas-next-top-model-view-controller-presentation-at-metro-toronto-net-user-group-next-thursday/</link>
		<comments>http://www.globalnerdy.com/2009/05/21/canadas-next-top-model-view-controller-presentation-at-metro-toronto-net-user-group-next-thursday/#comments</comments>
		<pubDate>Thu, 21 May 2009 15:22:57 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Toronto]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[Metro Toronto .NET User Group]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2009/05/21/canadas-next-top-model-view-controller-presentation-at-metro-toronto-net-user-group-next-thursday/</guid>
		<description><![CDATA[This article also appears in Canadian Developer Connection.

If you’re going to be in the area of downtown Toronto next Thursday, May 28th, you might want to check out my presentation, Canada’s Next Top Model View Controller at the next Metro Toronto .NET User Group meeting. I’ll be talking about the ASP.NET MVC Framework, Microsoft’s answer [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert"><a href="http://blogs.msdn.com/cdndevs/archive/2009/05/21/canada-s-next-top-model-view-controller-presentation-at-metro-toronto-net-user-group-next-thursday.aspx">This article also appears in <em>Canadian Developer Connection</em>.</a></p>
<p><a href="http://mtdnug090528.eventbrite.com/"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Canada&#39;s Next Top Model (moose) View (Lake Louise) Controller (beaver)" border="0" alt="Canada&#39;s Next Top Model (moose) View (Lake Louise) Controller (beaver)" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2009/05/canadas-next-top-model-view-controller.jpg" width="526" height="213" /></a></p>
<p>If you’re going to be in the area of downtown Toronto next Thursday, May 28th, you might want to check out my presentation, <strong><em><a href="http://mtdnug090528.eventbrite.com/">Canada’s Next Top Model View Controller</a></em></strong> at the next <a href="http://www.metrotorontoug.com/">Metro Toronto .NET User Group</a> meeting. I’ll be talking about the <strong><a href="http://www.asp.net/mvc/">ASP.NET MVC</a></strong> Framework, Microsoft’s answer to MVC frameworks like <a href="http://rubyonrails.org/">Ruby on Rails</a>, <a href="http://www.djangoproject.com/">Django</a>, <a href="http://cakephp.org/">CakePHP</a> and <a href="http://www.catalystframework.org/">Catalyst</a>. As is my stock in trade with presentations, this will be informative, enlightening, entertaining and just might feature a rock and roll accordion performance.</p>
<p>The presentation takes place <strong>Thursday, May 28th at 6:00 p.m.</strong> at the <strong>Manulife Financial Building</strong> (<a href="http://maps.live.com/#JnE9eXAuMjAwK0Jsb29yK1N0cmVldCtFYXN0JTJjK1Rvcm9udG8rT04lN2Vzc3QuMCU3ZXBnLjEmYmI9NTQuMjY1MjI0MDc4NjA1NyU3ZS0zNC4xMDE1NjI1JTdlMjcuNTI3NzU4MjA2ODYxOSU3ZS0xMDguMjgxMjU=">200 Bloor Street East</a>, Toronto, between Church and Jarvis – use the entrance on St. Paul Square). <strong>Admission for the presentation is free</strong>, but you have to <a href="http://mtdnug090528.eventbrite.com/">register</a>, and as of this writing, <strong>only 24 tickets remain</strong>.</p>
<p>For more details about the presentation, <a href="http://www.metrotorontoug.com/">visit the Metro Toronto .NET user group site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2009/05/21/canadas-next-top-model-view-controller-presentation-at-metro-toronto-net-user-group-next-thursday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m in Calgary Next Week</title>
		<link>http://www.globalnerdy.com/2008/12/04/im-in-calgary-next-week/</link>
		<comments>http://www.globalnerdy.com/2008/12/04/im-in-calgary-next-week/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 14:58:59 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Calgary]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tech Days]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2008/12/04/im-in-calgary-next-week/</guid>
		<description><![CDATA[ 
 
I’ll be in Calgary from Monday to Friday next week, catching up with my friend and co-worker John Bristowe (he’s Microsoft’s Developer Evangelist for Western Canada) and speaking at the Tech Days conference.
If you use (or are thinking of using) The Empire’s technologies, Tech Days is a pretty good place to get immersed. [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="downtown_calgary" border="0" alt="downtown_calgary" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/downtown-calgary.jpg" width="600" height="400" /> </p>
<p><a href="http://www.microsoft.com/canada/techdays/sessions.aspx?city=Calgary"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="tech_days_calgary" border="0" alt="tech_days_calgary" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/tech-days-calgary.jpg" width="250" height="261" /></a> </p>
<p>I’ll be in <a href="http://en.wikipedia.org/wiki/Calgary,_Alberta">Calgary</a> from Monday to Friday next week, catching up with my friend and co-worker <strong>John Bristowe</strong> (he’s Microsoft’s Developer Evangelist for Western Canada) and speaking at the <strong><a href="http://www.microsoft.com/canada/techdays/default.aspx">Tech Days</a></strong> conference.</p>
<p>If you use (or are thinking of using) The Empire’s technologies, Tech Days is a pretty good place to get immersed. It’s a conference focused on learning about Microsoft tech on its target platforms – PC, web and phone – both current and upcoming. It’s also a chance for Microsoft developers to get together and network, and you leave the conference with a nice package of free stuff, including a full version of <a href="http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx">Visual Studio 2008 Professional Edition</a>. (And just between you and me, if your company’s paying for it, Tech Days is also a good excuse to get a couple of paid days out of the office.)</p>
<p>In addition to the conference notes and reportage that you’ve come to expect from <em>Global Nerdy </em>and the accordion playing you’ve come to expect from me, I will be contributing in another way: I’m delivering the <strong><em>A Deep Dive into the ASP.NET Ajax Extensions</em></strong> presentation (it’s part of the web development track and taking place on Wednesday, December 10th at 1:00 p.m.. Here’s the abstract for the presentation:</p>
<blockquote><p>The ASP.NET AJAX Extensions are the server half of ASP.NET AJAX. Aside from adding controls such as ScriptManager and UpdatePanel to the platform, they extend the ASMX model to support client-side callbacks and JSON serialization. In this session, we&#8217;ll explore ASP.NET AJAX on the server &#8211; both inside and out &#8211; in order to provide you with the knowledge you will need to exploit it to its fullest.</p>
</blockquote>
<p>(If I had more time, I think I’d write my own abstract.)</p>
<p>I looked at the time slot I was given and went “uh-oh”. It’s one p.m., right after lunch, which is what people used to call the <em>sexta hora</em> in Latin. That means “sixth hour” and refers to the sixth hour of being awake, which is when people start to get a little bit sleepy. That’s where the word <em>siesta</em> comes from – it’s a bastardization of <em>sexta hora</em>. I’m going to have to make sure that I keep things interesting – I welcome that challenge.</p>
<p>See you in Calgary!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2008/12/04/im-in-calgary-next-week/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Fix for the Error in Hour 9 of &#8220;Teach Yourself ASP.NET Ajax in 24 Hours&#8221; / Client-Side Error Handling in ASP.NET Ajax in .NET 3.5</title>
		<link>http://www.globalnerdy.com/2008/12/03/a-fix-for-the-error-in-hour-9-of-teach-yourself-aspnet-ajax-in-24-hours-client-side-error-handling-in-aspnet-ajax-in-net-35/</link>
		<comments>http://www.globalnerdy.com/2008/12/03/a-fix-for-the-error-in-hour-9-of-teach-yourself-aspnet-ajax-in-24-hours-client-side-error-handling-in-aspnet-ajax-in-net-35/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 19:40:55 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET 3.5]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[errata]]></category>
		<category><![CDATA[error handling]]></category>
		<category><![CDATA[exception handling]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PageRequestManager]]></category>
		<category><![CDATA[ScriptManager]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2008/12/03/a-fix-for-the-error-in-hour-9-of-teach-yourself-aspnet-ajax-in-24-hours-client-side-error-handling-in-aspnet-ajax-in-net-35/</guid>
		<description><![CDATA[While following the exercises in the book Teach Yourself ASP.NET Ajax in 24 Hours – one of the few books I’ve been able to find on Ajax for ASP.NET 3.5 – I found an error in the “Hour 9” chapter in the example that covers client-side error-handling (it starts on page 137). I’ve reported this [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.amazon.com/Sams-Teach-Yourself-ASP-NET-Hours/dp/0672329670"><img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Cover of &quot;Teach Yourself ASP.NET Ajax in 24 Hours&quot;" border="0" alt="Cover of &quot;Teach Yourself ASP.NET Ajax in 24 Hours&quot;" align="right" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/teach-yourself-aspnet-ajax-in-24-hours.jpg" width="185" height="240" /></a>While following the exercises in the book <em><a href="http://www.amazon.com/Sams-Teach-Yourself-ASP-NET-Hours/dp/0672329670"><strong>Teach Yourself ASP.NET Ajax in 24 Hours</strong></a></em> – one of the few books I’ve been able to find on Ajax for ASP.NET 3.5 – I found an error in the “Hour 9” chapter in the example that covers client-side error-handling (it starts on page 137). I’ve reported this error to the publisher and with any luck, they’ll post a corrected version on their support web page for the book.</p>
<p>I’ve done some searching and haven’t found anything covering this error so I thought I’d cover it here. Better still, I’ll also cover the fix, which turns out to be quite simple. If you’ve been trying out the code in the book and wondering why it doesn’t work, relax: at least in this case, it’s not your fault.</p>
<p>In the course of covering the error and how to fix it, I’ll also talk about how ASP.NET handles exceptions raised by asynchronous postbacks and how you can make use of it to make better user interfaces. Even if you don’t have a copy of <em>Teach Yourself ASP.NET Ajax in 24 Hours,</em> you should find this article an interesting introduction to client-side error handling in ASP.NET Ajax.</p>
<h3>Unhandled Exceptions and Asynchronous Postbacks</h3>
<p>In ASP.NET Ajax, if an exception is raised during an asynchronous postback and isn’t handled on the server side – that is, in the code-behind – it gets passed along to the client side. What happens on the client side depends on which version of ASP.NET you’re using:</p>
<ul>
<li><strong>In ASP.NET Ajax 1.0,</strong> the server-side exception object is serialized into <a href="http://www.json.org/">JSON</a>. The JSON is sent to the client, which displays the exception’s message property in an alert box. </li>
<li><strong>In ASP.NET Ajax for .NET 3.5,</strong> the server-side exception is still serialized into JSON and the JSON is still sent to the client. However, instead of displaying the exception’s message property in an alert box – a presumptuous design decision, if you want my opinion – the client throws the exception, which gives you the opportunity to handle it on the client side as you please. </li>
</ul>
<p>(In this article, I’ll stick to covering ASP.NET Ajax for .NET 3.5.)</p>
<p>This is quite different from most other web application frameworks, where an exception raised as the result of an <a href="http://www.w3.org/TR/XMLHttpRequest/">XMLHttpRequest</a> call to the server results in some kind of “error” page from the server (or a blank page, if you’re suppressing error reporting). </p>
<p>To illustrate this, let’s put together a simple ASP.NET Ajax application. It’s a single page with a single button, that if clicked, throws an exception.</p>
<p>Here’s the code for the page layout. It’s pretty straightforward:</p>
<p><strong>Listing 1: <code>Default.aspx</code> – Layout for the page of our simple ASP.NET Ajax application<em>.</em></strong></p>
<p> <code>
<pre>&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot;
CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;WebApplication1._Default&quot; %&gt;

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;Error Handling Demo 1&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;

        &lt;div&gt;
            &lt;asp:ScriptManager ID=&quot;ScriptManager1&quot; runat=&quot;server&quot; /&gt;
            &lt;asp:UpdatePanel runat=&quot;server&quot; ID=&quot;UpdatePanel1&quot;&gt;
                &lt;ContentTemplate&gt;
                    &lt;asp:Button runat=&quot;server&quot; ID=&quot;Button1&quot;
                    Text=&quot;Click Me&quot; OnClick=&quot;Button1_OnClick&quot; /&gt;
                &lt;/ContentTemplate&gt;
            &lt;/asp:UpdatePanel&gt;
        &lt;/div&gt;

    &lt;/form&gt;
&lt;/body&gt;

&lt;/html&gt;</pre>
<p></code></p>
<p>Some notes about the code:</p>
<ul>
<li>The <code>ScriptManager</code> control at the top of the form enables Ajax by ensuring that the JavaScript needed to support ASP.NET Ajax on the client side is downloaded to the browser. </li>
<li>The <code>UpdatePanel</code> control determines the controls that trigger asynchronous postbacks and defines the region of the page that can be updated via Ajax. </li>
<li><code>Button1</code> is the button control that we want to throw an exception when clicked. We’ll set it to call the <code>Button1_OnClick</code> method, which will contain the exception-throwing code. </li>
</ul>
<p>The code-behind is very simple. In it, we define a single method: the event handler <code>Button1_OnClick</code>, which is called in response when the user clicks <code>Button1</code>. All we want it to do is throw an exception that uniquely identifies itself:</p>
<p><strong>Listing 2: <code>Default.aspx.cs</code> – Code-behind for the page of our very simple example app<em>.</em></strong></p>
<p><code></p>
<pre>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Button1_OnClick(object sender, EventArgs e)
        {
            throw new Exception(&quot;Click!&quot;);
        }
    }
}</pre>
<p></code></p>
<h4>Running with Debugging vs. Running Without Debugging</h4>
<p>Listing 1 and 2 give us enough to make our simple app work. It’s time to take it for a spin.</p>
<p>Here’s something that doesn’t get covered in <em>Teach Yourself ASP.NET Ajax in 24 Hours: </em>what happens when you try to run this app <em>with</em> debugging (starting it by hitting F5 in Visual Studio or “Start Debugging” under the “Debug” menu)? </p>
<p>Here’s a screenshot of what happened for me: <img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="simple_app_with_debugging" border="0" alt="simple_app_with_debugging" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/simple-app-with-debugging.jpg" width="567" height="417" /> </p>
<p>With debugging on, the unhandled exception thrown in <code>Button1_OnClick</code> is caught by the debugger. Normally, this sort of error-catching behaviour is welcome, but in this particular case, it gets in the way of what we’re trying to achieve: having an exception on the server side and passing it along to the user’s browser to handle.</p>
<p>If we run the same app without debugging, we get the effect we want: the exception is raised on the server side, but the server-side part of the application doesn’t halt with an error message. Instead, the client shows the error message.</p>
<p>Here’s a screenshot. Note that the error message includes the string “Click!”, which is the argument in the throw statement the <code>Button1_OnClick</code> event handler. Thanks to this, we can be pretty certain that the error message is the result of our deliberately-thrown exception:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/image.png" width="502" height="327" /></p>
<p>Now that we have the exception that we threw on the server side being handled on the client side, let’s do something with it.&#160; </p>
</p>
<h3>Handling Exceptions Passed from the Server on the Client Side</h3>
<p>Let’s do something simple – let’s catch the exception caused by the button click, and instead of having a JavaScript error box pop up, let’s make a couple of changes to the button:</p>
<ul>
<li>Change its text to “This button has been disabled for your safety.” </li>
<li>Disable it. </li>
</ul>
<p>To handle exceptions on the client side, we need to write some client-side JavaScript. Luckily, this is made simple by the number of handy utility classes defined in the scripts downloaded to the client by the <code>ScriptManager</code> component. In this case, we’re going to make use of the <code><a href="http://msdn.microsoft.com/en-us/library/bb311028.aspx">Sys.Webforms.PageRequestManager</a></code> class to deal with the exception because it provides us with the following:</p>
<ul>
<li>The <code><a href="http://msdn.microsoft.com/en-us/library/bb383810.aspx">endRequest</a></code> event, which is raised after an asynchronous postback has completed and control is returned to the browser. </li>
<li>The <code>add_endRequest</code> method, which specifies a method to call when the <code>endRequest</code> event is raised. </li>
</ul>
<p>Here’s the JavaScript, which we’ll put in a file called <code>ErrorHandler.js</code>:</p>
<p><strong>Listing 3: <code>ErrorHandler.js</code> &#8212; Client-side error handler for our very simple example app<em>.</em></strong></p>
<p><code></p>
<pre>Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args)
{
    if (args.get_error() != undefined) {
        $get('Button1').value = &quot;This button has been disabled for your safety.&quot;;
        $get('Button1').disabled = true;
        args.set_errorHandled(true);
    }
}</pre>
<p></code></p>
<p>The script performs the following:</p>
<ul>
<li>It registers the method <code>EndRequestHandler</code> as the method to call whenever the <code>endRequest</code> event is raised. </li>
<li>It defined the method <code>EndRequestHandler</code>, which does the following:
<ul>
<li>If an exception did occur during the asynchronous callback:&quot;
<ul>
<li>The button’s text is changed </li>
<li>The button is disabled </li>
<li>The error is reported as handled, which allows the application to continue </li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Now that we have this client-side code, we need to get it to the client. We do this by using the <code>Scripts</code> section of the <code>ScriptManager</code> to send this file to the client. The listing below shows the updated layout code for our simple application. I’ve highlighted the change in the listing below:</p>
<p><strong>Listing 4: Revised <code>Default.aspx</code> – Layout for the page of our simple ASP.NET Ajax application<em>.</em></strong></p>
<p><code></p>
<pre>&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;WebApplication1._Default&quot; %&gt;

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;Error Handling Demo 1&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;

        &lt;div&gt;
            <b>&lt;asp:ScriptManager ID=&quot;ScriptManager1&quot; runat=&quot;server&quot;&gt;
                &lt;Scripts&gt;
                    &lt;asp:ScriptReference Path=&quot;~/ErrorHandler.js&quot; /&gt;
                &lt;/Scripts&gt;
            &lt;/asp:ScriptManager&gt;</b>
            &lt;asp:UpdatePanel runat=&quot;server&quot; ID=&quot;UpdatePanel1&quot;&gt;
                &lt;ContentTemplate&gt;
                    &lt;asp:Button runat=&quot;server&quot; ID=&quot;Button1&quot;
                    Text=&quot;Click Me&quot; OnClick=&quot;Button1_OnClick&quot; /&gt;
                &lt;/ContentTemplate&gt;
            &lt;/asp:UpdatePanel&gt;
        &lt;/div&gt;

    &lt;/form&gt;
&lt;/body&gt;

&lt;/html&gt;</pre>
<p></code></p>
<p><strong></strong></p>
<p>The <code>Scripts</code> section of the <code>ScriptManager</code> lets us specify scripts to be sent to the client along with the page, with each script specified in a <code>ScriptReference</code> tag.</p>
<p>When we run the app (remember, <em>without </em>debugging on) with these changes and click the button, here’s what we get:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Button with text &quot;This button has been disabled for your safety&quot;" border="0" alt="Button with text &quot;This button has been disabled for your safety&quot;" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/sample-app-revised-screenshot.gif" width="401" height="43" /> </p>
<p>In a later article, I’ll look at other ways of using client-side error handling in ASP.NET Ajax in .NET 3.5.</p>
<h3>The Error in <em>Teach Yourself ASP.NET Ajax in 24 Hours</em></h3>
<p>Here’s the page layout code for the error-handling example in <em>Teach Yourself ASP.NET Ajax in 24 Hours</em>. The code-behind for the page and the client-side JavaScript are fine, it’s this code that has the error. See if you can spot what’s amiss:</p>
<p><strong>Listing 5: <code>Default.aspx</code> &#8212; Page layout of client-side error-handling example in Hour 9 of <em>Teach Yourself ASP.NET Ajax in 24 Hours.</em></strong></p>
<p><code></p>
<pre>&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;WebApplication1._Default&quot; %&gt;

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;

        &lt;div&gt;
            &lt;asp:ScriptManager ID=&quot;ScriptManager1&quot; runat=&quot;server&quot; /&gt;
            &lt;asp:UpdatePanel runat=&quot;server&quot; ID=&quot;UpdatePanel1&quot;&gt;
                &lt;ContentTemplate&gt;
                    &lt;asp:Button runat=&quot;server&quot; ID=&quot;Button1&quot;
                    Text=&quot;Click Me&quot; OnClick=&quot;Button1_OnClick&quot; /&gt;
                &lt;/ContentTemplate&gt;
            &lt;/asp:UpdatePanel&gt;
        &lt;/div&gt;

        &lt;br /&gt;&lt;br /&gt;

        &lt;div id=&quot;Message&quot; style=&quot;visibility: hidden;&quot;&gt;
            &lt;asp:HyperLink ID=&quot;HyperLink1&quot; runat=&quot;server&quot;
                           Font-Bold=&quot;true&quot;
                           Text=&quot;Error Occurred...&quot;
                           Font-Italic=&quot;true&quot;
                           ForeColor=&quot;red&quot; &gt;
            &lt;/asp:HyperLink&gt;
        &lt;/div&gt;

    &lt;/form&gt;
&lt;/body&gt;

&lt;/html&gt;</pre>
<p></code></p>
<p>Just for kicks, here’s what happens when you click on the button in the app using the code straight from <em>Teach Yourself ASP.NET Ajax in 24 Hours</em>:</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Screen capture of resulting error message from original &quot;Teach Yourself ASP.NET Ajax in 24 Hours&quot; application" border="0" alt="Screen capture of resulting error message from original &quot;Teach Yourself ASP.NET Ajax in 24 Hours&quot; application" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/12/screen-capture-1.gif" width="582" height="337" /></p>
<p>The mistake is simple: although there is some error-handling client-side JavaScript in the app, it’s not referenced in the <code>ScriptManager</code> tag, which means it’s not sent to the client. Without error-handling code on the client side, the exception is thrown, there’s nothing to catch it and the user is presented with the standard error dialog box.</p>
<p>The fix is equally simple: reference the script in the <code>ScriptManager</code> tag’s <code>Scripts</code> section:</p>
<p><code></p>
<pre>&lt;asp:ScriptManager ID=&quot;ScriptManager1&quot; runat=&quot;server&quot;&gt;
    &lt;Scripts&gt;
        &lt;asp:ScriptReference Path=&quot;~/ErrorHandlingScript.js&quot; /&gt;
    &lt;/Scripts&gt;
&lt;/asp:ScriptManager&gt;</pre>
<p></code></p>
<p>Once that’s done, the program works as promised.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2008/12/03/a-fix-for-the-error-in-hour-9-of-teach-yourself-aspnet-ajax-in-24-hours-client-side-error-handling-in-aspnet-ajax-in-net-35/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Salmagundi for Friday, November 7th, 2008</title>
		<link>http://www.globalnerdy.com/2008/11/07/salmagundi-for-friday-november-7th-2008/</link>
		<comments>http://www.globalnerdy.com/2008/11/07/salmagundi-for-friday-november-7th-2008/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 22:18:20 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Play]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC2008]]></category>
		<category><![CDATA[social bookmarking]]></category>
		<category><![CDATA[videogames]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Zero Punctuation]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/2008/11/07/salmagundi-for-friday-november-7th-2008/</guid>
		<description><![CDATA[Interview with Chris Slemp, MSDN
 
Here’s another video interview featuring Yours Truly at the PDC: it’s with Chris Slemp, Program Manager for the Server and Tools Online group at Microsoft. In the interview, we talk about MSDN and its new social bookmarking feature.
Click here to watch the video.
“Grim Fandango’s” Puzzle Document
 
If you’re looking to [...]]]></description>
			<content:encoded><![CDATA[<p></p><h3>Interview with Chris Slemp, MSDN</h3>
<p><a href="http://blogs.msdn.com/cdndevs/archive/2008/11/06/canucks-at-pdc-social-bookmarking-at-msdn.aspx"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="joey_devilla_chris_slemp" border="0" alt="joey_devilla_chris_slemp" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/joey-devilla-chris-slemp.jpg" width="414" height="233" /></a> </p>
<p>Here’s another video interview featuring Yours Truly at the PDC: it’s with <a href="http://blogs.msdn.com/cslemp/"><strong>Chris Slemp</strong></a>, Program Manager for the Server and Tools Online group at Microsoft. In the interview, we talk about MSDN and its new social bookmarking feature.</p>
<p><strong><a href="http://blogs.msdn.com/cdndevs/archive/2008/11/06/canucks-at-pdc-social-bookmarking-at-msdn.aspx">Click here to watch the video.</a></strong></p>
<h3>“Grim Fandango’s” Puzzle Document</h3>
<p><a href="http://www.doublefine.com/news.php/site/comments/just_one_more_grim_thing/"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="grim_fandango_puzzle_document" border="0" alt="grim_fandango_puzzle_document" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/grim-fandango-puzzle-document.jpg" width="500" height="375" /></a> </p>
<p>If you’re looking to get into the mind of a game designer and the design of one of the most highly-regarded computer adventures games, be sure to check out the <strong><a href="http://www.doublefine.com/news.php/site/comments/just_one_more_grim_thing/">Grim Fandango Puzzle Document</a></strong>. Tim Schafer, in “a temporary fit of Cake-induced Grim nostalgia,” decided to put the game’s puzzle design document online in PDF form (it’s 2.3MB in size). </p>
<p><a href="http://www.geero.net/2008/11/anatomy-of-a-classic.html">Here’s a great summary of the Grim Fandango Puzzle Document</a>, written by Andy Geers:</p>
<blockquote><p>I use that word &quot;crafted&quot; because that&#8217;s exactly what this newly released document shows: true craftsmanship. We see the incredible attention to detail, the pacing of the narrative as it builds and as the puzzles get increasingly sophisticated, always coaxing the player along with them. As somebody whose spent the last few years trying to write <a href="http://www.geero.net/bible-games.html">my own adventure game</a>, what struck me most about this document is the sheer <em>simplicity</em> of it &#8211; it&#8217;s well established that it takes a great deal of clarity and hard work to boil down something so vast as Grim Fandango into such a simple representation that conveys so much information in such a succinct way.</p>
</blockquote>
<p>It’s a considerably more interesting read than most specs.</p>
<h3>My Job-Related Reading List</h3>
<p>Nothing gives you that frozen-caveman-thawed-in-modern-times feeling like returning to a software platform after not developing in it in seven years. Getting back into the swing of Microsoft’s development tools has been fun so far, but it is, as a lot of people have told me, like drinking from the firehose.</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="reading_list_nov_2008" border="0" alt="reading_list_nov_2008" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/reading-list-nov-2008.jpg" width="483" height="208" /> </p>
<p>To quickly get acclimated with C#, ASP.NET and XNA, I’m expensing the following books I bought today:</p>
<ul>
<li><strong><em><a href="http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598849/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1226095180&amp;sr=1-1">Pro C# 2008 and the .NET 3.5 Platform</a> </em></strong>by Andrew Troelsen </li>
<li><strong><em><a href="http://www.amazon.com/Professional-ASP-NET-3-5-VB-Programmer/dp/0470187573">Professional ASP.NET 3.5 in C# and VB</a></em> </strong>by Bill Evjen, Scott Hanselman and Devin Rader </li>
<li><strong><em><a href="http://www.amazon.com/Beginning-XNA-2-0-Game-Programming/dp/1590599241/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1226095299&amp;sr=1-1">Beginning XNA 2.0 Game Programming</a></em></strong> by Alexandre Santos Lobao, Bruno Pereira Evangelista, and Jose Antonio Leal de Farias </li>
</ul>
<p>I’ll let you know what I think of these books as I read them.</p>
<h3>“Zero Punctuation” Reviews</h3>
<p>And finally, a couple of reviews from my all-time favourite game reviewer, Ben “Yahtzee” Croshaw. The first one’s for <em>Saints Row 2</em>, which includes a great argument for why it might actually be a better game than <em>Grand Theft Auto IV</em> as well as a brilliant concept for a new game:</p>
<p style="text-align: center"><embed src="http://static.escapistmagazine.com/media/global/movies/player/FlowPlayerDark.2.2.4-tm.swf?config=%7Bembedded%3Atrue%2CplayList%3A%5B+%7B+%27url%27%3A312%2C%27linkUrl%27%3A%27http%3A%2F%2Fwww.escapistmagazine.com%2Fvideos%2Fview%2Fzero-punctuation%2F312-Saints-Row-2%27%2C%27linkWindow%27%3A%27_top%27%2C%27name%27%3A%27Saints%2BRow%2B2%27+%7D+%5D%2CsplashImageFile%3A%27http%3A%2F%2Fwww.escapistmagazine.com%2Fglobal%2Fcastfire%2Fsplash%2F312.jpg%27%2CshowVolumeSlider%3Atrue%2Cpid%3A%27html_test%27%2CinitialScale%3A%27fit%27%2Cloop%3Afalse%2CautoPlay%3Afalse%2CautoBuffering%3Afalse%2CusePlayOverlay%3Afalse%2CautoRewind%3Atrue%2CbufferLength%3A15%2CmenuItems%3A%5Bfalse%2Cfalse%2Cfalse%2Cfalse%2Ctrue%2Ctrue%5D%7D" allowfullscreen="true" allowscriptaccess="always" quality="high" bgcolor="#333333" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" height="328" width="400" wmode="opaque"></embed></p>
<p>and here’s the latest review, for <em>Dead Space</em>, which he summarizes as “competent but bland”. Luckily, his review is anything but…</p>
<p style="text-align: center"><embed src="http://static.escapistmagazine.com/media/global/movies/player/FlowPlayerDark.2.2.4-tm.swf?config=%7Bembedded%3Atrue%2CplayList%3A%5B+%7B+%27url%27%3A333%2C%27linkUrl%27%3A%27http%3A%2F%2Fwww.escapistmagazine.com%2Fvideos%2Fview%2Fzero-punctuation%2F333-Dead-Space%27%2C%27linkWindow%27%3A%27_top%27%2C%27name%27%3A%27Dead%2BSpace%27+%7D+%5D%2CsplashImageFile%3A%27http%3A%2F%2Fwww.escapistmagazine.com%2Fglobal%2Fcastfire%2Fsplash%2F333.jpg%27%2CshowVolumeSlider%3Atrue%2Cpid%3A%27html_test%27%2CinitialScale%3A%27fit%27%2Cloop%3Afalse%2CautoPlay%3Afalse%2CautoBuffering%3Afalse%2CusePlayOverlay%3Afalse%2CautoRewind%3Atrue%2CbufferLength%3A15%2CmenuItems%3A%5Bfalse%2Cfalse%2Cfalse%2Cfalse%2Ctrue%2Ctrue%5D%7D" allowfullscreen="true" allowscriptaccess="always" quality="high" bgcolor="#333333" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" height="328" width="400" wmode="opaque"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2008/11/07/salmagundi-for-friday-november-7th-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My PDC Interviews: Don Box, Miguel de Icaza, John Lam, Phil Haack and .NET Micro Framework</title>
		<link>http://www.globalnerdy.com/2008/11/03/my-pdc-interviews-don-box-miguel-de-icaza-john-lam-phil-haack-and-net-micro-framework/</link>
		<comments>http://www.globalnerdy.com/2008/11/03/my-pdc-interviews-don-box-miguel-de-icaza-john-lam-phil-haack-and-net-micro-framework/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 16:28:31 +0000</pubDate>
		<dc:creator>Joey deVilla</dc:creator>
				<category><![CDATA[Interviews]]></category>
		<category><![CDATA[Meetups]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software and Services]]></category>
		<category><![CDATA[What Joey Did]]></category>
		<category><![CDATA[.NET Micro Framework]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Don Box]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[IronRuby]]></category>
		<category><![CDATA[John Lam]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[Miguel de Icaza]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Oslo]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC2008]]></category>
		<category><![CDATA[Phil Haack]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.globalnerdy.com/?p=2177</guid>
		<description><![CDATA[
A number of people have asked me how many sessions I attended at last week&#8217;s Microsoft Professional Developers Conference; my answer was &#8220;I only attended the keynotes&#8221;. Since every session was recorded on video (with a split screen showing both presenter and presentation) and made available online, I decided to focus on what you can&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align:center;"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008.jpg" alt="PDC2008 graphic" title="PDC2008 graphic" width="480" /></p>
<p>A number of people have asked me how many sessions I attended at last week&#8217;s <a href="http://microsoftpdc.com/"><strong>Microsoft Professional Developers Conference</strong></a>; my answer was &#8220;I only attended the keynotes&#8221;. Since every session was recorded on video (with a split screen showing both presenter and presentation) and made available online, <strong>I decided to focus on what you can&#8217;t replicate outside the conference: getting to know people in the Windows developer community.</strong></p>
<p>It&#8217;s standard procedure at Microsoft to assign &#8220;buddies&#8221; to new hires to help them get acclimated. I have the very good fortune of having <strong>John Bristowe</strong> as one of my buddies; not only is he a warm and friendly guy, but I also already know him (his sister Ashley and I went to <a href="http://queensu.ca/">Crazy Go Nuts University</a> together). John&#8217;s big on podcasting and was very generous in sharing the interviewer&#8217;s chair; he let me do a lot of interviews as a way to both get podcasting practice and introduce myself to people in the Windows world. Thanks, John!</p>
<p>You&#8217;re going to need <a href="http://silverlight.net/">Silverlight</a> to view these videos. If you&#8217;re rolling your eyes at the prospect of having to download yet another plugin, keep in mind that Silverlight is a pretty cool tool for writing rich internet apps, I&#8217;ll be covering it rather extensively soon, and it&#8217;s catching on. Besides, you can&#8217;t see the videos without it!</p>
<h3>Don Box on My Joining the Dark Side, Demos, Oslo and M, Zombies and How to Pronounce &#8220;Azure&#8221;</h3>
<p style="text-align:center;"><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-a-quick-chat-with-don-box.aspx"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008_interview_don_box.jpg" alt="Still from Joey deVilla&#039;s interview with Don Box" title="Still from Joey deVilla&#039;s interview with Don Box" width="500" height="296" /></a><br /><span class="caption">Click the picture to see the video of the interview.</span></p>
<p>After introducing myself to Distinguished Engineer (yup, that&#8217;s really his title) <a href="http://www.pluralsight.com/community/blogs/dbox/"><strong>Don Box</strong></a> as &#8220;Microsoft&#8217;s Newest Employee&#8221;, I told him about my coming to Microsoft from the <a href="http://en.wikipedia.org/wiki/Free_and_open_source_software">F/OSS</a> world and asked him to please tell me that I hadn&#8217;t made a tragic mistake and ruined my life by coming over to the Dark Side. We also talked about his preparation process for his keynote demo, <a href="http://msdn.microsoft.com/oslo">the Oslo platform</a> and the M programming platform, the proper way to pronounce &#8220;Azure&#8221; and whether or not Microsoft is ready for the zombie apocalypse.</p>
<h4>Useful Don Box/Oslo Links</h4>
<ul>
<li><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-a-quick-chat-with-don-box.aspx"><strong>Video of my interview with Don Box.</strong></a></li>
<li>Video of Don Box&#8217;s and David Langworthy&#8217;s PDC 2008 presentation, <a href="http://channel9.msdn.com/pdc2008/TL27/"><strong>Oslo: The Language</strong></a>, which introduces the M programming language.</li>
<li>Video of Don Box&#8217;s and Florian Voss&#8217; PDC 2008 presentation, <a href="http://channel9.msdn.com/pdc2008/TL18/"><strong>&#8220;Oslo&#8221;: Customizing and Extending the Visual Design Experience</strong></a>.</li>
<li><a href="http://msdn.microsoft.com/oslo">The Oslo site.</a></li>
<li>If you&#8217;d like to read more about Oslo in Don&#8217;s own words, <a href="http://www.pluralsight.com/community/blogs/dbox/archive/2008/09/06/oslo.aspx">a good place to start is this entry in his blog</a>.</li>
<li>Don&#8217;s blog, <a href="http://www.pluralsight.com/community/blogs/dbox/default.aspx"><cite>Don Box&#8217;s Spoutlet</cite></a>.</li>
</ul>
<h3>Miguel de Icaza on Mono</h3>
<p style="text-align:center;"><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-miguel-de-icaza-on-mono.aspx"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008_interview_miguel_de_icaza.jpg" alt="Still from Joey deVilla&#039;s interview with Miguel de Icaza" title="Still from Joey deVilla&#039;s interview with Miguel de Icaza" width="500" height="309" /></a><br /><span class="caption">Click the picture to see the video of the interview.</span></p>
<p>I had a great chat with <a href="http://www.mono-project.com/">Mono Project</a> lead <a href="http://tirania.org/blog/"><strong>Miguel de Icaza</strong></a> about Mono, their answer to <a href="http://silverlight.net/">Silverlight</a>, the number of people in the Mono Project and how you, as a Windows developer, can take Mono out for a spin. We also talked about how to pronounce &#8220;Azure&#8221;, and Miguel speculated that the name was a clever choice because the disagreement over its pronunciation is a great way to get people talking about it.</p>
<h4>Useful Miguel de Icaza/Mono Links</h4>
<ul>
<li><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-miguel-de-icaza-on-mono.aspx"><strong>Video of my interview with Miguel de Icaza.</strong></a></li>
<li>Video of Miguel de Icaza&#8217;s PDC 2008 presentation, <a href="http://channel9.msdn.com/pdc2008/PC54/"><strong>Mono and .NET</strong></a>.</li>
<li><a href="http://www.mono-project.com/">The Mono Project&#8217;s site.</a></li>
<li><a href="http://tirania.org/blog/">Miguel de Icaza&#8217;s blog</a>.</li>
</ul>
<h3>John Lam on IronRuby</h3>
<p style="text-align:center;"><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-john-lam-and-ironruby.aspx"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008_interview_john_lam.jpg" alt="Still from Joey deVilla&#039;s interview with John Lam" title="Still from Joey deVilla&#039;s interview with John Lam" width="500" height="272" /></a><br /><span class="caption">Click the picture to see the video of the interview.</span></p>
<p>It&#8217;s always good to catch up with Toronto-area guy turned Redmond guy and <a href="http://www.ironruby.net/">IronRuby</a> creator <a href="http://www.iunknown.com/"><strong>John Lam</strong></a>. We had a quick chat about IronRuby and the current state of the project. In the interview, he reminds us that IronRuby <em>is</em> an open source project, talks about the Ruby standard implementation tests it&#8217;s currently passing and what to expect from IronRuby in the near future.</p>
<h4>Useful John Lam/IronRuby Links</h4>
<ul>
<li><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-john-lam-and-ironruby.aspx"><strong>Video of my interview with John Lam.</strong></a></li>
<li>Video of John Lam&#8217;s PDC 2008 presentation, <a href="http://channel9.msdn.com/pdc2008/TL44/"><strong>IronRuby: The Right Language for the Right Job</strong></a>.</li>
<li><a href="http://www.ironruby.net/">The IronRuby site</a>.</li>
<li><a href="http://poignantguide.net/ruby/"><cite>Why&#8217;s (Poignant) Guide to Ruby</cite></a> &#8212; the most whimsical introduction to a programming language, ever!</li>
<li>John Lam&#8217;s blog, <a href="http://www.iunknown.com/"><cite>John Lam on Software</cite></a>.</li>
</ul>
<h3>Phil Haack on ASP.NET MVC</h3>
<p style"text-align:center;"><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-you-ve-been-phil-haack-ed.aspx"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008_interview_phil_haack.jpg" alt="Still from Joey deVilla&#039;s interview with Phil Haack" title="Still from Joey deVilla&#039;s interview with Phil Haack" width="500" height="295" /></a><br /><span class="caption">Click the picture to see the video of the interview.</span></p>
<p><a href="http://haacked.com/"><strong>Phil Haack</strong></a> not only has the coolest surname for a techie, he&#8217;s also got an MVC framework for ASP.NET, just like the ones the Rails, Django and Cake people get to play with. In this interview, we talk about MVC web frameworks for the uninitiated, as well as get his take on how to pronounce &#8220;Azure&#8221;.</p>
<h4>Useful Phil Haack/ASP.NET MVC Links</h4>
<ul>
<li><a href="http://blogs.msdn.com/cdndevs/archive/2008/10/30/canucks-at-pdc-you-ve-been-phil-haack-ed.aspx"><strong>Video of my interview with Phil Haack.</strong></a></li>
<li>Video of Phil Haack&#8217;s PDC 2008 presentation, <a href="http://channel9.msdn.com/pdc2008/PC21/"><strong>ASP.NET MVC: A New Framework for Building Web Applications</strong></a>.</li>
<li><a href="http://www.asp.net/mvc/">The official ASP.NET MVC site</a>.</li>
<li>Phil Haack&#8217;s blog, <a href="http://haacked.com/"><cite>You&#8217;ve Been HAACKED</cite></a>.</li>
</ul>
<h3>.NET Micro Framework</h3>
<p style="text-align:center;"><a href="http://blogs.msdn.com/cdndevs/archive/2008/11/01/canucks-at-pdc-net-micro-framework.aspx"><img src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2008/11/pdc2008_interview_net_micro_framework.jpg" alt="Still from Joey deVilla&#039;s &quot;.NET Micro Framework&quot; interview" title="Still from Joey deVilla&#039;s &quot;.NET Micro Framework&quot; interview" width="500" height="293" /></a><br /><span class="caption">Click the picture to see the video of the interview.</span></p>
<p>Believe it or not, there&#8217;s a .NET framework for embedded devices, the <a href="http://msdn.microsoft.com/en-us/embedded/bb267253.aspx"><strong>.NET Micro Framework</strong></a>. In this interview, I learn about .NET programming for small devices, the <a href="http://dreamdifferentcontest.com/">&#8220;Dare to Dream Different&#8221; contest</a> (where you can win great prizes for coming up with new applications for the .NET Micro Framework) and about what donuts have to do with microcontrollers. <em>Mmm&#8230;donuts!</em></p>
<h4>Useful .NET Micro Framework Links</h4>
<ul>
<li><a href="http://blogs.msdn.com/cdndevs/archive/2008/11/01/canucks-at-pdc-net-micro-framework.aspx"><strong>Video of my .NET Micro Framework interview.</strong></a></li>
<li><a href="http://dreamdifferentcontest.com/">The &#8220;Dare to Dream Different&#8221; contest site.</a></li>
<li><a href="http://msdn.microsoft.com/en-us/embedded/bb267253.aspx">The .NET Micro Framework site</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.globalnerdy.com/2008/11/03/my-pdc-interviews-don-box-miguel-de-icaza-john-lam-phil-haack-and-net-micro-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
