<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tales from the Evil Empire : Microsoft</title><link>http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx</link><description>Tags: Microsoft</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Hiring for new super-secret project</title><link>http://weblogs.asp.net/bleroy/archive/2009/07/30/hiring-for-new-super-secret-project.aspx</link><pubDate>Thu, 30 Jul 2009 20:35:06 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7158262</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=7158262</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/07/30/hiring-for-new-super-secret-project.aspx#comments</comments><description>&lt;p&gt;Well, I guess it’s not so super-secret anymore now but these last few months, I’ve been transitioning from ASP.NET Ajax to a new project that aims at helping ASP.NET communities build Open Source applications on ASP.NET. It’s a lot of fun and the good news is that you can join in. We are hiring a senior developer:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://careers.microsoft.com/JobDetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=1&amp;amp;jid=4567&amp;amp;jlang=EN"&gt;https://careers.microsoft.com/JobDetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=1&amp;amp;jid=4567&amp;amp;jlang=EN&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please mention me (Bertrand Le Roy, bleroy at Microsoft) as the referral if you apply. ;)&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7158262" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Job/default.aspx">Job</category></item><item><title>asp:menu fix for IE8 problem available</title><link>http://weblogs.asp.net/bleroy/archive/2009/03/23/asp-menu-fix-for-ie8-problem-available.aspx</link><pubDate>Mon, 23 Mar 2009 21:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6995426</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>44</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6995426</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/03/23/asp-menu-fix-for-ie8-problem-available.aspx#comments</comments><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="(c) 2003 Bertrand Le Roy" border="0" alt="(c) 2003 Bertrand Le Roy" align="left" src="http://weblogs.asp.net/blogs/bleroy/dscn22991_47AB4CCA.jpg" width="244" height="184" /&gt; Internet Explorer 8 is a unique release in the history of Internet Explorer in more than one way, but the decision to make standards mode the default means that authors of existing sites are impacted by it, if only to set the compatibility mode to IE7.&lt;/p&gt;  &lt;p&gt;But what if your site is built using components that render out markup and script over which you have little control, such as ASP.NET WebControls? Well, if one of the controls fails in IE8 standards mode, you need to either switch to compatibility mode (ouch!) or you need the component developer to ship an updated version.&lt;/p&gt;  &lt;p&gt;During the whole IE8 development cycle, we monitored the behavior of existing controls. Most ASP.NET built-in controls have been doing just fine in IE8, or the faulty behavior was actually due to an IE bug that we reported and that got fixed.&lt;/p&gt;  &lt;p&gt;All except asp:menu. It so happens that the menu control is making a bad assumption on what the default value for z-index should be. We debated this at length with the IE team, but it became clear as we did so that they were right and that we were wrong. We had to fix that.&lt;/p&gt;  &lt;p&gt;So here it is, the patch for menu is out and you can apply it to build IE8-compatible ASP.NET WebForms sites…&lt;/p&gt;  &lt;p&gt;Windows 2000, XP, Server 2003:   &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/KB962351/Release/ProjectReleases.aspx?ReleaseId=2294"&gt;http://code.msdn.microsoft.com/KB962351/Release/ProjectReleases.aspx?ReleaseId=2294&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows Vista, Server 2008:   &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/KB967535/Release/ProjectReleases.aspx?ReleaseId=2328"&gt;http://code.msdn.microsoft.com/KB967535/Release/ProjectReleases.aspx?ReleaseId=2328&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;UPDATE:&lt;/b&gt; the KB article can now be found here:&lt;br/&gt;&lt;a href="http://support.microsoft.com/kb/962351"&gt;http://support.microsoft.com/kb/962351&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6995426" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Deep Zoom without Silverlight</title><link>http://weblogs.asp.net/bleroy/archive/2008/11/20/deep-zoom-without-silverlight.aspx</link><pubDate>Thu, 20 Nov 2008 20:42:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6748714</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6748714</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/11/20/deep-zoom-without-silverlight.aspx#comments</comments><description>&lt;P&gt;In a move that I wouldn’t have bet a dollar on, Live Labs released a purely JavaScript &lt;A href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Deep Zoom&lt;/A&gt; client. You read that right, what was so far one of the nice features only found in Silverlight is now available in an open web, standards-based version.&lt;/P&gt;
&lt;P&gt;
&lt;SCRIPT type=text/javascript src="http://seadragon.com/ajax/embed.js" mce_src="http://seadragon.com/ajax/embed.js"&gt;&lt;/SCRIPT&gt;

&lt;SCRIPT type=text/javascript&gt;Seadragon.embed("451px", "338px", "http://seadragon.com/content/images/CarinaNebula.dzi", 29566, 14321, 254, 1, "jpg");&lt;/SCRIPT&gt;
&lt;/P&gt;
&lt;P&gt;Of course, from a technical standpoint, &lt;A href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Deep Zoom&lt;/A&gt; is just commoditizing what Google Maps made possible years ago in pure script so there wasn’t really a reason why this couldn’t be done, except smoother transitions and zooming but that’s pretty tenuous.&lt;/P&gt;
&lt;P&gt;The great thing about this new library is that the tools to create the &lt;A href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Deep Zoom&lt;/A&gt; image are exactly the same as with Silverlight: the JavaScript client is pretty much a drop-in replacement for the Silverlight client.&lt;/P&gt;
&lt;P&gt;Embedding the viewer into a page is YouTube-easy: give the deep zoom url and it will build the code for you to embed.&lt;/P&gt;
&lt;P&gt;MSDN on Deep Zoom: &lt;BR&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Everything about the JavaScript client:&lt;BR&gt;&lt;A href="http://livelabs.com/seadragon-ajax/"&gt;http://livelabs.com/seadragon-ajax/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Embedding the viewer: &lt;BR&gt;&lt;A title=http://livelabs.com/seadragon-ajax/embed-viewer href="http://livelabs.com/seadragon-ajax/embed-viewer" mce_href="http://livelabs.com/seadragon-ajax/embed-viewer"&gt;http://livelabs.com/seadragon-ajax/embed-viewer&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE: &lt;/STRONG&gt;Kapil created a Python-based tile-cutting application that is compatible with both deep-zoom clients, to work around the Windows-only nature of the creation tools:&lt;BR&gt;&lt;A href="http://blog.kapilt.com/2008/11/30/sharing-large-images-openlayers-gsiv-modestmaps-deepzoom-and-python/"&gt;http://blog.kapilt.com/2008/11/30/sharing-large-images-openlayers-gsiv-modestmaps-deepzoom-and-python/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE:&lt;/STRONG&gt; Also check out this TED talk to get a glimpse of the true potential of these technologies (all that you're seeing in this talk is publicly available by the way):&lt;BR&gt;&lt;A href="http://www.ted.com/index.php/talks/blaise_aguera_y_arcas_demos_photosynth.html"&gt;http://www.ted.com/index.php/talks/blaise_aguera_y_arcas_demos_photosynth.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6748714" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Deep+Zoom/default.aspx">Deep Zoom</category></item><item><title>Going to California</title><link>http://weblogs.asp.net/bleroy/archive/2008/10/22/going-to-california.aspx</link><pubDate>Wed, 22 Oct 2008 19:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6698142</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6698142</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/10/22/going-to-california.aspx#comments</comments><description>&lt;p&gt;I’m flying to San Jose tonight for tomorrow’s &lt;a href="http://www.openajax.org/member/wiki/2008_October_Members_Meeting"&gt;OpenAjax Alliance face to face meeting&lt;/a&gt;, which Microsoft is hosting. On Friday, we are also hosting a new event that aims at establishing a dialogue between JavaScript library developers and Microsoft. We’ll have talks from the IE, Visual Studio and ASP.NET teams, as well as talks from members of the community. This should be very interesting.&lt;/p&gt;  &lt;p&gt;Then I’ll be flying to L.A. for the &lt;a href="http://www.microsoftpdc.com/"&gt;PDC&lt;/a&gt;. If you’re going to be there and want to chat, feel free to drop me a note at bleroy at Microsoft.&lt;/p&gt;  &lt;p&gt;I’ll be in the room during &lt;a href="http://weblogs.asp.net/stephenwalther/default.aspx"&gt;Stephen Walthers&lt;/a&gt;’ session on &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; and ASP.NET on Tuesday from 5:15 to 6:30 (403AB).&lt;/p&gt;  &lt;p&gt;I’ll also do a short demo in &lt;a href="http://blogs.msdn.com/scothu/default.aspx"&gt;Scott Hunter&lt;/a&gt;’s talk on the ASP.NET 4.0 Roadmap on Monday from 1:45 to 3:00 (153).&lt;/p&gt;  &lt;p&gt;Other sessions I’ll attend include &lt;a href="http://haacked.com/Default.aspx"&gt;Phil Haack&lt;/a&gt;’s MVC session (Monday, 3:30 in 153), Jeff King’s talk on Visual Studio Web Development Futures (Monday, 5:15 in 153), the panel talk on the future of programming languages (Wednesday 10:30 in 403AB), Frank Savage’s &lt;a href="http://blogs.msdn.com/xna/default.aspx"&gt;XNA&lt;/a&gt; Game Studio talk (Wednesday, 12:00 in 501B), &lt;a href="http://en.wikipedia.org/wiki/Anders_Hejlsberg"&gt;Anders Heljsberg&lt;/a&gt;’s talk on C# (Wednesday 3:00 in 502A), &lt;a href="http://tirania.org/blog/"&gt;Miguel de Icaza&lt;/a&gt;’s talk on Mono (Wednesday at 4:45 in 515B) and of course &lt;a href="http://browse.barnesandnoble.com/booksearch/results.asp?ath=Stefan+Schackow"&gt;Stefan Schackow&lt;/a&gt;’s ASP.NET Cache Extensibility talk (Thursday 10:15 in 403B) which was the highest rated talk during our dry-run of the conference…&lt;/p&gt;  &lt;p&gt;And of course, I’ll be on stage for my own talk on &lt;a href="http://www.codeplex.com/aspnet/Wiki/View.aspx?title=AJAX&amp;amp;referringTitle=Home"&gt;ASP.NET 4.0 AJAX&lt;/a&gt; on Thursday from 1:45 to 3:00 (Petree Hall CD), which will pretty much close the show. I’ll be building a small application using client templates, bindings, some &lt;a href="http://www.jquery.com/"&gt;jQuery&lt;/a&gt; and ADO.NET Data Services.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6698142" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/OpenAjax/default.aspx">OpenAjax</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/PDC/default.aspx">PDC</category></item><item><title>Alt.NET podcast on jQuery</title><link>http://weblogs.asp.net/bleroy/archive/2008/10/07/alt-net-podcast-on-jquery.aspx</link><pubDate>Wed, 08 Oct 2008 04:56:57 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6665083</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6665083</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/10/07/alt-net-podcast-on-jquery.aspx#comments</comments><description>&lt;p&gt;We had an interesting conversation with the good people from the Alt.NET podcast on &lt;a href="http://weblogs.asp.net/bleroy/archive/2008/09/28/jquery-now-officially-part-of-the-net-developer-s-toolbox.aspx"&gt;jQuery&lt;/a&gt; and what it means for .NET developers. Check it out:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://altnetpodcast.com/episodes/11-jquery-in-asp.net" href="http://altnetpodcast.com/episodes/11-jquery-in-asp.net"&gt;http://altnetpodcast.com/episodes/11-jquery-in-asp.net&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6665083" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>jQuery now officially part of the .NET developer’s toolbox</title><link>http://weblogs.asp.net/bleroy/archive/2008/09/28/jquery-now-officially-part-of-the-net-developer-s-toolbox.aspx</link><pubDate>Mon, 29 Sep 2008 04:23:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6646347</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>29</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6646347</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/09/28/jquery-now-officially-part-of-the-net-developer-s-toolbox.aspx#comments</comments><description>&lt;P&gt;You may have read that from &lt;A href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/" mce_href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/"&gt;John Resig&lt;/A&gt; or &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx"&gt;Scott Guthrie&lt;/A&gt;. I’m very excited to announce that Microsoft has decided to ship, adopt and support using &lt;A href="http://www.jquery.com/" mce_href="http://www.jquery.com"&gt;jQuery&lt;/A&gt; on top of ASP.NET. This may come as a surprise to some of you but I hope you’ll agree with me that it makes total sense. &lt;A href="http://www.jquery.com/" mce_href="http://www.jquery.com"&gt;jQuery&lt;/A&gt; is a fantastic JavaScript library that focuses on DOM querying and manipulation, whereas the &lt;A href="http://ajax.asp.net/" mce_href="http://ajax.asp.net"&gt;Microsoft Ajax Library&lt;/A&gt; focuses on building reusable components and interacting with ASP.NET web services.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://ajaxian.com/archives/jquery-finds-its-way-into-microsoft-and-nokia-stacks" mce_href="http://ajaxian.com/archives/jquery-finds-its-way-into-microsoft-and-nokia-stacks"&gt;A lot&lt;/A&gt; &lt;A href="http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx" mce_href="http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx"&gt;has been&lt;/A&gt; &lt;A href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/" mce_href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/"&gt;written&lt;/A&gt; &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx"&gt;already&lt;/A&gt; &lt;A href="http://www.eweek.com/c/a/Application-Development/Microsoft-Adopts-OpenSource-jQuery-JavaScript-Library/" mce_href="http://www.eweek.com/c/a/Application-Development/Microsoft-Adopts-OpenSource-jQuery-JavaScript-Library/"&gt;on&lt;/A&gt; &lt;A href="http://cooney.typepad.com/lauren_cooneys_blog/2008/09/jquery-and-microsoft-the-qa.html" mce_href="http://cooney.typepad.com/lauren_cooneys_blog/2008/09/jquery-and-microsoft-the-qa.html"&gt;this&lt;/A&gt; new partnership so I’ll just go ahead and show some code that hopefully will show how great &lt;A href="http://www.jquery.com/" mce_href="http://www.jquery.com"&gt;jQuery&lt;/A&gt; and &lt;A href="http://ajax.asp.net/" mce_href="http://ajax.asp.net"&gt;ASP.NET AJAX&lt;/A&gt; work together.&lt;/P&gt;
&lt;P&gt;As my first piece of code using both frameworks, I’ve built a very simple plug-in for &lt;A href="http://www.jquery.com/" mce_href="http://www.jquery.com"&gt;jQuery&lt;/A&gt; that instantiates a specific control on all elements in a &lt;A href="http://www.jquery.com/" mce_href="http://www.jquery.com"&gt;jQuery&lt;/A&gt; result set. Here’s the full code for the plug-in:&lt;/P&gt;&lt;PRE class=code&gt;jQuery.fn.create = &lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt;(type, properties, events) {
&lt;SPAN style="COLOR: green"&gt;    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return this&lt;/SPAN&gt;.each(&lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt;() {
        Sys.Component.create(type, properties, events, {}, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;);
    });
};&lt;/PRE&gt;And here’s how you can use it to create instances of a (pretty lame) sample behavior to limits the number of characters in&amp;nbsp;all text inputs with a specific class on them: &lt;PRE class=code&gt;$(&lt;SPAN style="COLOR: #a31515"&gt;"input[type=text].nomorethantwenty"&lt;/SPAN&gt;)
    .create(Bleroy.Sample.CharCount, { maxLength: 20 });&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;This is the kind of super-simple code that we hope will make your life easier as an ASP.NET developer.&lt;/P&gt;
&lt;P&gt;More of that stuff later…&lt;/P&gt;
&lt;P&gt;I’m super-excited about this. How about you?&lt;/P&gt;
&lt;P&gt;The sample code for this post: &lt;BR&gt;&lt;A href="http://weblogs.asp.net/blogs/bleroy/Samples/jQueryMicrosoftAjax.zip" mce_href="http://weblogs.asp.net/blogs/bleroy/Samples/jQueryMicrosoftAjax.zip"&gt;http://weblogs.asp.net/blogs/bleroy/Samples/jQueryMicrosoftAjax.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The original announcement by John Resig: &lt;BR&gt;&lt;A title=http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/ href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/" mce_href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/"&gt;http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/&lt;/A&gt; &lt;BR&gt;and Scott Guthrie: &lt;BR&gt;&lt;A title=http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Q/A about the partnership:&lt;BR&gt;&lt;A href="http://cooney.typepad.com/lauren_cooneys_blog/2008/09/jquery-and-microsoft-the-qa.html"&gt;http://cooney.typepad.com/lauren_cooneys_blog/2008/09/jquery-and-microsoft-the-qa.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And here’s some cool code from Scott Hanselman: &lt;BR&gt;&lt;A title=http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx href="http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx" mce_href="http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx"&gt;http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And this older post where I show how to use the ScriptManager with jQuery (and without Microsoft Ajax): &lt;BR&gt;&lt;A title="Using ScriptManager with other frameworks" href="http://weblogs.asp.net/bleroy/archive/2008/07/07/using-scriptmanager-with-other-frameworks.aspx" mce_href="http://weblogs.asp.net/bleroy/archive/2008/07/07/using-scriptmanager-with-other-frameworks.aspx"&gt;Using ScriptManager with other frameworks&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6646347" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>New tools to prevent SQL injection attacks</title><link>http://weblogs.asp.net/bleroy/archive/2008/06/25/new-tools-to-prevent-sql-injection-attacks.aspx</link><pubDate>Wed, 25 Jun 2008 17:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6319353</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6319353</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/06/25/new-tools-to-prevent-sql-injection-attacks.aspx#comments</comments><description>&lt;P&gt;I've &lt;A class="" href="http://weblogs.asp.net/bleroy/archive/2004/08/18/please-please-please-learn-about-injection-attacks.aspx" mce_href="http://weblogs.asp.net/bleroy/archive/2004/08/18/please-please-please-learn-about-injection-attacks.aspx"&gt;blogged in the past about injection attacks&lt;/A&gt;. Microsoft publishes additional new tools to detect and protect against injection attacks. The first tool, developed by HP, crawls web sites to automatically detect possible attacks, the second blocks dangerous requests from being executed, and the last one analyzes code to look for dangerous practice.&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.microsoft.com/technet/security/advisory/954462.mspx href="http://www.microsoft.com/technet/security/advisory/954462.mspx" mce_href="http://www.microsoft.com/technet/security/advisory/954462.mspx"&gt;http://www.microsoft.com/technet/security/advisory/954462.mspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6319353" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/IIS/default.aspx">IIS</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Security/default.aspx">Security</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Injection/default.aspx">Injection</category></item><item><title>A honest recap of the IE8 meta-tag controversy</title><link>http://weblogs.asp.net/bleroy/archive/2008/01/25/a-honest-recap-of-the-ie8-meta-tag-controversy.aspx</link><pubDate>Fri, 25 Jan 2008 20:43:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5651996</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=5651996</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/01/25/a-honest-recap-of-the-ie8-meta-tag-controversy.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;This will affect all Web developers, which is precisely why the debate is very heated. Anyway, here's a honest recap of the issue. I tend to agree with the author's conclusion although that is obvisouly not the position of Microsoft...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://arstechnica.com/articles/paedia/ie8-super-standards-mode.ars"&gt;http://arstechnica.com/articles/paedia/ie8-super-standards-mode.ars&lt;/A&gt;&lt;BR&gt;&lt;A href="http://arstechnica.com/articles/paedia/ie8-super-standards-mode.ars/2"&gt;http://arstechnica.com/articles/paedia/ie8-super-standards-mode.ars/2&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; at the smallest signs of a flame war, I will close the comments on this post. Ars has a good forum and comment system where your voice is much more likely to be heard and endlessly contradicted. ;)&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5651996" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Ajax usage survey among .NET developers</title><link>http://weblogs.asp.net/bleroy/archive/2007/12/21/ajax-usage-survey-among-net-developers.aspx</link><pubDate>Sat, 22 Dec 2007 00:22:58 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5485236</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=5485236</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/12/21/ajax-usage-survey-among-net-developers.aspx#comments</comments><description>&lt;p&gt;Following the &lt;a href="http://rmh.blogs.com/weblog/2007/12/2007-ajax-tools.html"&gt;more open-sourcey informal study&lt;/a&gt; that was &lt;a href="http://ajaxian.com/archives/2007-ajax-tools-usage-survey-results"&gt;recently advertised on Ajaxian&lt;/a&gt;, &lt;a href="http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx"&gt;Simone Chiaretta publishes and analyses the results of his own study&lt;/a&gt; that he recently made and that is aimed exclusively at .NET developers. While &lt;a href="http://rmh.blogs.com/weblog/2007/12/2007-ajax-tools.html"&gt;Richard Monson-Haefel's study&lt;/a&gt; is being made for the third consecutive year, which makes for some interesting trend information, &lt;a href="http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx"&gt;Simone's analysis&lt;/a&gt; is more directly interesting to us. The differences between the results of both studies for .NET developers also goes a long way showing how such data crucially depends on who you're asking. Case in point, it's pretty clear that &lt;a href="http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx"&gt;the intersection of Ajaxian readers and .NET developers&lt;/a&gt; is much more open-source-oriented (&lt;a href="http://en.wikipedia.org/wiki/The_Outing"&gt;not that there's anything wrong with that&lt;/a&gt;) than the mainstream .NET developers.&lt;/p&gt; &lt;p&gt;&lt;a title="http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx" href="http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx"&gt;http://codeclimber.net.nz/archive/2007/12/21/.NET-Ajax-Survey-results.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5485236" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>D'oh! I guess they didn't think about that one...</title><link>http://weblogs.asp.net/bleroy/archive/2007/12/20/d-oh-i-guess-they-didn-t-think-about-that-one.aspx</link><pubDate>Thu, 20 Dec 2007 19:19:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5479731</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=5479731</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/12/20/d-oh-i-guess-they-didn-t-think-about-that-one.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Too funny:&lt;BR&gt;&lt;A href="http://nldd.lordabdul.net//12.html"&gt;http://nldd.lordabdul.net//12.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5479731" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Opera/default.aspx">Opera</category></item><item><title>Microsoft now in the OpenAjax steering comittee</title><link>http://weblogs.asp.net/bleroy/archive/2007/10/09/microsoft-now-in-the-openajax-steering-comittee.aspx</link><pubDate>Tue, 09 Oct 2007 22:37:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4513323</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=4513323</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/10/09/microsoft-now-in-the-openajax-steering-comittee.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Thanks to all members who voted. I'm looking forward to working with the other members.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://www.openajax.org/blogs/?p=41"&gt;http://www.openajax.org/blogs/?p=41&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4513323" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/OpenAjax/default.aspx">OpenAjax</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>.NET framework: now with source code</title><link>http://weblogs.asp.net/bleroy/archive/2007/10/03/net-framework-now-with-source-code.aspx</link><pubDate>Wed, 03 Oct 2007 16:49:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4321598</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=4321598</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/10/03/net-framework-now-with-source-code.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Scott just announced it:&lt;BR&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;This will make debugging .NET apps a lot easier...&lt;/P&gt;
&lt;P mce_keep="true"&gt;More details on how this is going to work exactly on Shawn's blog:&lt;BR&gt;&lt;A href="http://blogs.msdn.com/sburke/archive/2007/10/04/channel-9-video-more-details-on-reference-source.aspx"&gt;http://blogs.msdn.com/sburke/archive/2007/10/04/channel-9-video-more-details-on-reference-source.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;UPDATE:&lt;/STRONG&gt; this is now available. See the following posts for details:&lt;BR&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx&lt;/A&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"&gt;http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4321598" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>OpenAjax InteropFest 1.0: Microsoft's entry</title><link>http://weblogs.asp.net/bleroy/archive/2007/09/21/openajax-interopfest-1-0-microsoft-s-entry.aspx</link><pubDate>Fri, 21 Sep 2007 19:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4015087</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=4015087</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/09/21/openajax-interopfest-1-0-microsoft-s-entry.aspx#comments</comments><description>&lt;P&gt;Yesterday I got to write our entry in &lt;A href="http://www.openajax.org/member/wiki/InteropFest_1.0" mce_href="http://www.openajax.org/member/wiki/InteropFest_1.0"&gt;OpenAjax's InteropFest&lt;/A&gt;. The goal of this event is to demonstrate how different Ajax libraries can be parts of the &lt;A href="http://www.openajax.org/" mce_href="http://www.openajax.org"&gt;OpenAjax&lt;/A&gt; ecosystem and interact with each other through the &lt;A href="http://www.openajax.org/member/wiki/OpenAjax_Hub" mce_href="http://www.openajax.org/member/wiki/OpenAjax_Hub"&gt;OpenAjax hub&lt;/A&gt;. The currently central feature of the hub is to expose &lt;A href="http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification_PublishSubscribe" mce_href="http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification_PublishSubscribe"&gt;a publish/subscribe message bus&lt;/A&gt; so that both producers and consumers of events can speak through a third party that is neutral to specific Ajax implementations.&lt;/P&gt;
&lt;P&gt;The &lt;A href="http://www.openajax.org/" mce_href="http://www.openajax.org"&gt;OpenAjax Alliance&lt;/A&gt; provides a template for demo applications that shows a live data source feeding fake stock quotes through the hub to a visual component that then renders them.&lt;/P&gt;
&lt;P&gt;I've chosen to modify the live data source to be a Microsoft Ajax-style component. The visual component would not have been as interesting because it's really the application that is a consumer of events. The visual component itself doesn't strictly speaking communicate with the hub, the application does (through a trivial API call) and then transmits the results to the component for rendering. In other words, the data source is a lot more interesting because it &lt;EM&gt;exposes&lt;/EM&gt; the event, and if it is a Microsoft Ajax component, it will use the Microsoft Ajax event pattern, which is quite different from the OpenAjax event pattern.&lt;/P&gt;
&lt;P&gt;I did refactor the consuming part of the application quite heavily, but that was more to understand it than anything and it's not the essential part of our entry.&lt;/P&gt;
&lt;P&gt;To achieve the mapping from Microsoft Ajax events to OpenAjax messages, I've written the following simple helper:&lt;/P&gt;&lt;PRE class=code&gt;Type.registerNamespace(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"Sys.OpenAjax"&lt;/SPAN&gt;);

Sys.OpenAjax._Helper = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt;() {
}
Sys.OpenAjax._Helper.prototype = {
    mapEventToMessage:&lt;BR&gt;        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt;(owner, eventName, messageName, publisherDataMapper) {&lt;BR&gt;            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; handler = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt;(sender, args) {
                OpenAjax.hub.publish(&lt;BR&gt;                    messageName,&lt;BR&gt;                    publisherDataMapper ?&lt;BR&gt;                        publisherDataMapper(sender, args) : &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;);
            }
            owner[&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"add_"&lt;/SPAN&gt; + eventName](handler);
            &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;return&lt;/SPAN&gt; handler;
        },
    unmapEvent:&lt;BR&gt;        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt;(owner, eventName, map) {
            owner[&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"remove_"&lt;/SPAN&gt; + eventName](map);
        }
}
Sys.OpenAjax._Helper.registerClass(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"Sys.OpenAjax._Helper"&lt;/SPAN&gt;);

Sys.OpenAjax.Helper = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; Sys.OpenAjax._Helper();&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;The application code can use that new API to map the events of any Microsoft Ajax component to become publishers of OpenAjax messages without any necessity for the component to contain any code specific to OpenAjax, let alone know about it. In other words, the component implementation remains completely decoupled from OpenAjax and it's the application that makes the connection.&lt;/P&gt;
&lt;P&gt;The application maps the &lt;FONT face="Courier New"&gt;quoteChanged&lt;/FONT&gt; event to the &lt;FONT face="Courier New"&gt;org.openajax.interopfest10.datagen.stockpriceupdate&lt;/FONT&gt; OpenAjax message like this:&lt;/P&gt;&lt;PRE class=code&gt;Sys.OpenAjax.Helper.mapEventToMessage(
    corpList, &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"quoteChanged"&lt;/SPAN&gt;,
    &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"org.openajax.interopfest10.datagen.stockpriceupdate"&lt;/SPAN&gt;,
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;function&lt;/SPAN&gt; (sender, args) {
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;var&lt;/SPAN&gt; quote = args.get_quote();
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;return&lt;/SPAN&gt; {
            tickerName: quote.symbol,
            corpName: quote.name,
            price: quote.price
        };
    }
);&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;From this moment on, all &lt;FONT face="Courier New"&gt;quoteChanged&lt;/FONT&gt; events will be published on the hub. An interesting thing to note is the use of an optional function that maps the Microsoft Ajax event argument to the expected OpenAjax data payload.&lt;/P&gt;
&lt;P&gt;Brad Abrams kindly hosts the demo on his personal website for the moment:&lt;BR&gt;&lt;A href="http://brad_abrams.members.winisp.net/Projects/OpenAjax/index.html" mce_href="http://brad_abrams.members.winisp.net/Projects/OpenAjax/index.html"&gt;http://brad_abrams.members.winisp.net/Projects/OpenAjax/index.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The source code can be downloaded by clicking &lt;A href="http://brad_abrams.members.winisp.net/Projects/OpenAjax/InteropFest_1_0_Microsoft_Sources_No_Library.zip" mce_href="http://brad_abrams.members.winisp.net/Projects/OpenAjax/InteropFest_1_0_Microsoft_Sources_No_Library.zip"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4015087" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/OpenAjax/default.aspx">OpenAjax</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Outlook pst file repair tool</title><link>http://weblogs.asp.net/bleroy/archive/2007/06/27/outlook-pst-file-repair-tool.aspx</link><pubDate>Wed, 27 Jun 2007 18:33:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:2959333</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>21</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=2959333</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/06/27/outlook-pst-file-repair-tool.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Yesterday, I was doing some mailbox cleaning after a week away from the office taking care of my family (that now counts one more little girl), and I suddenly got unable to move e-mail from the inbox into folders (a message was telling me the message was already gone&amp;nbsp;even though&amp;nbsp;I was staring at it). Restarting Outlook or even rebooting didn't help. Despite the sleep deprivation, I immediately suspected .pst or .ost&amp;nbsp;file corruption.&lt;/P&gt;
&lt;P mce_keep="true"&gt;One thing I learned from previous calls to support about Outlook is that there is a little known utility that ships with Office and that restores pst and ost file corruption. Scandisk for .pst if you want. You can find it in Program Files\Microsoft Office\Office12 and it's named "scanpst.exe". The icon is a broken enveloppe.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The utility only took a few minutes to scan my pst and ost files and restore them, and shazam! I can now move my e-mail around normally.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Oh, and by the way, if you don't know where your .pst and .ost files are physically stored, it's very easy to find if you know where to look. In Outlook, right-click on the personal folder icon, choose "Properties" (should be the last item in the menu), then click the "advanced..." button and there it is:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://weblogs.asp.net/blogs/bleroy/WindowsLiveWriter/WhereIsMyPst.PNG"&gt;&lt;IMG src="http://weblogs.asp.net/blogs/bleroy/WindowsLiveWriter/WhereIsMyPst.PNG" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Hope this helps.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2959333" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Outlook/default.aspx">Outlook</category></item><item><title>Photo Album works on Windows Home Server</title><link>http://weblogs.asp.net/bleroy/archive/2007/06/10/photo-album-works-on-windows-home-server.aspx</link><pubDate>Mon, 11 Jun 2007 04:57:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:2781393</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=2781393</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2007/06/10/photo-album-works-on-windows-home-server.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I was super-excited to learn that &lt;A class="" href="http://www.andrewgrant.org/" mce_href="http://www.andrewgrant.org"&gt;Andrew Grant&lt;/A&gt; was able to run the &lt;A class="" href="http://weblogs.asp.net/bleroy/archive/2005/11/24/431455.aspx" mce_href="http://weblogs.asp.net/bleroy/archive/2005/11/24/431455.aspx"&gt;Photo Handler&lt;/A&gt; unmodified on &lt;A class="" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx" mce_href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx"&gt;Windows Home Server&lt;/A&gt;. This is actually one more reason for me to put &lt;A class="" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx" mce_href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx"&gt;Home Server&lt;/A&gt; on my to-buy list. I shoot thousands of pictures a year and only upload the very best on &lt;A class="" href="http://www.flickr.com/photos/boudin/" mce_href="http://www.flickr.com/photos/boudin/"&gt;Flickr&lt;/A&gt;. But the reason why I enhanced &lt;A class="" href="http://blogs.msdn.com/dmitryr/" mce_href="http://blogs.msdn.com/dmitryr/"&gt;Dmitry&lt;/A&gt;'s handler to make it my own was that I wanted photo publishing to be as simple and as fast as possible, and a natural part of my workflow. Today I'm using a small web server that I built and that sits in my basement so that I can just dump photos on the server using a simple share but using &lt;A class="" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx" mce_href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx"&gt;Home Server&lt;/A&gt; for that would just rock. Anyway, if you have a &lt;A class="" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx" mce_href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx"&gt;Home Server&lt;/A&gt; and want a lightweight way to publish your photos, this is for you:&lt;BR&gt;&lt;A href="http://www.andrewgrant.org/2007/06/09/how-to-create-a-windows-home-server-photo-album-in-minutes.html"&gt;http://www.andrewgrant.org/2007/06/09/how-to-create-a-windows-home-server-photo-album-in-minutes.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2781393" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft/default.aspx">Microsoft</category></item></channel></rss>