<?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>Michael's Blog</title><link>http://weblogs.asp.net/mschwarz/default.aspx</link><description>ASP.NET and Embedded Development</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>ZigBee Smart Energy Blog</title><link>http://weblogs.asp.net/mschwarz/archive/2009/10/13/zigbee-smart-energy-blog.aspx</link><pubDate>Tue, 13 Oct 2009 16:17:25 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7228951</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7228951</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7228951</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/10/13/zigbee-smart-energy-blog.aspx#comments</comments><description>&lt;p&gt;While I’m currently working on a ZigBee Smart Energy device running on &lt;a href="http://netmicroframework.blogspot.com/"&gt;Microsoft .NET Micro Framework 4.0&lt;/a&gt; (beta) I have started a new blog writing about news concerning Smart Energy (Smart Grid) around the world: &lt;a title="http://smartenergy-news.blogspot.com/" href="http://smartenergy-news.blogspot.com/"&gt;http://smartenergy-news.blogspot.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For those of you not familiar with or never heard about ZigBee Smart Energy, here is a short statement from &lt;a href="http://www.zigbee.org/Markets/ZigBeeSmartEnergy/ZigBeeSmartEnergyOverview/tabid/431/Default.aspx"&gt;ZigBee Alliance’s web site&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ZigBee Smart Energy offers utilities and energy service providers secure, easy-to-use wireless home area networks (&lt;a href="http://en.wikipedia.org/wiki/Home_area_network"&gt;HAN&lt;/a&gt;) for managing energy. Smart Energy gives these groups and their customers the power to directly communicate with thermostats and other smart appliances.       &lt;br /&gt;New advanced metering and demand response programs can be implemented in homes easily and securely because of ZigBee wireless technology. Now utilities and energy service providers can easily implement energy management and efficiency programs to meet changing government requirements.&lt;/p&gt;    &lt;p&gt;There area a growing number of &lt;a href="http://www.zigbee.org/LinkClick.aspx?link=271&amp;amp;tabid=224"&gt;products certified&lt;/a&gt; by the Alliance for ZigBee Smart Energy. These products represent every type of device needed to implement a robust home area network using ZigBee Smart Energy.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The ZigBee modules I’m using are from &lt;a href="http://smartenergy-news.blogspot.com/2009/10/digi-launches-smart-energy-product.html"&gt;Digi International&lt;/a&gt; – a simple firmware upgrade and you can start implementing the new Smart Energy profile.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7228951" width="1" height="1"&gt;</description></item><item><title>[de] Silverlight 3: Das rasante Autorennen live &amp; kostenlos</title><link>http://weblogs.asp.net/mschwarz/archive/2009/10/09/de-silverlight-3-das-rasante-autorennen-live-amp-kostenlos.aspx</link><pubDate>Fri, 09 Oct 2009 17:38:25 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7226279</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7226279</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7226279</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/10/09/de-silverlight-3-das-rasante-autorennen-live-amp-kostenlos.aspx#comments</comments><description>&lt;p&gt;Für alle, die am Wochenende nichts vorhaben, und mal etwas Deutsches mit &lt;a href="http://www.silverlight.net/"&gt;Silverlight 3&lt;/a&gt; ausprobieren möchten:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Zur &amp;quot;TV total Stock Car Crash Challenge 2009&amp;quot; präsentiert &lt;a href="http://videothek.vodafone.de/?n=122009"&gt;Vodafone&lt;/a&gt; ein brandneues Feature: Erleben Sie das TV-Ereignis mit Stefan Raab, Elton &amp;amp; Co. zum ersten Mal live und gratis in der Videothek! Startschuss für das heiße Autorennen ist am 10. Oktober um 20.15 Uhr!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Viel Spaß beim Zuschauen!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7226279" width="1" height="1"&gt;</description></item><item><title>Quick thoughts on the Microsoft AJAX CDN</title><link>http://weblogs.asp.net/mschwarz/archive/2009/09/16/quick-thoughts-on-the-microsoft-ajax-cdn.aspx</link><pubDate>Wed, 16 Sep 2009 10:40:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7207873</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7207873</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7207873</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/09/16/quick-thoughts-on-the-microsoft-ajax-cdn.aspx#comments</comments><description>&lt;p&gt;Today reading on &lt;a href="http://idunno.org/"&gt;idunno.org&lt;/a&gt; about Microsoft AJAX CDN, something I was thinking about a bit, too:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Scott “Red Shirt” Guthrie &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/09/15/announcing-the-microsoft-ajax-cdn.aspx"&gt;announced today&lt;/a&gt; that the jQuery and the Microsoft AJAX scripts would be hosted on the Microsoft content delivery network (CDN) – which should speed up the initial loading of these script libraries and save you bandwidth, as you won’t have to host them any more. Being an untrusting soul, errr, security person, I thought I’d take a quick look at how its delivered.&lt;/p&gt;    &lt;p&gt;The scripts are hosted on &lt;a href="http://ajax.microsoft.com/"&gt;http://ajax.microsoft.com/&lt;/a&gt; which presents the first problem – it’s a microsoft.com domain. When you do any serious browsing to the normal microsoft.com sites you’re going to get a cookie, for example if you login to view things that require Live authentication, or you register for an event or even a session ID. On my machine I have seven cookies that are sent to any microsoft.com site and some of them look like tracking identifiers (the omniID for example is a GUID, then there’s MUID, a cookie called ANON and so on). There’s no way of knowing what these cookies actually do, but they will be sent with requests for the CDN based script libraries which, if Microsoft were so inclined, could be used to track users as they travel through various sites using the CDN. Of course google does the same thing, and has been doing it for longer. The google script for loading other scripts (yes I know) comes from google.com, so the cookie that identifies your searches will be sent when you browse to a site that uses the google script CDN (adsense and google analytics scripts come from different domains, and so those identifying cookies won’t be sent). So there is a potential privacy problem here, if Microsoft were inclined to be evil.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Read the &lt;a href="http://idunno.org/archive/2009/09/16/quick-thoughts-on-the-microsoft-ajax-cdn.aspx"&gt;full story here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7207873" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>New Version of Expression Web SuperPreview for Internet Explorer Available</title><link>http://weblogs.asp.net/mschwarz/archive/2009/09/15/new-version-of-expression-web-superpreview-for-internet-explorer-available.aspx</link><pubDate>Tue, 15 Sep 2009 06:18:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7205945</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7205945</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7205945</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/09/15/new-version-of-expression-web-superpreview-for-internet-explorer-available.aspx#comments</comments><description>&lt;p&gt;There is a new version available for Microsoft Expression SuperPreview for Windows Internet Explorer. Expression Web SuperPreview for Internet Explorer is a visual debugging tool that makes it easier to migrate your web sites from Internet Explorer 6 to Internet Explorer 7 or 8.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Expression Web SuperPreview for Internet Explorer speeds the essential task of debugging your web sites for cross-browser compatibility. With Expression Web SuperPreview for Internet Explorer, you don’t need a web service to debug your pages on the same machine that you use for development. &lt;/p&gt;    &lt;p&gt;Expression Web SuperPreview for Internet Explorer is a stand-alone visual debugging tool that makes it faster and easier to migrate your sites from Internet Explorer 6 to Internet Explorer 7 or 8. With Expression Web SuperPreview for Internet Explorer, you can ensure that your Web sites work correctly in Internet Explorer 8 while also maintaining compatibility with earlier versions of Internet Explorer. &lt;/p&gt;    &lt;p&gt;Expression Web SuperPreview for Internet Explorer shows your web pages rendered in Internet Explorer 6 and either Internet Explorer 7 or Internet Explorer 8, depending on which version you have installed on your machine. You can view the pages side by side or as an onion-skin overlay and use rulers, guides and zoom/pan tools to precisely identify differences in layout. You can even compare your page comp to how the targeted browsers render the page. &lt;/p&gt;    &lt;p&gt;Expression Web SuperPreview for Internet Explorer not only shows a high-fidelity rendering of how pages will look on different browsers, but it also identifies the element’s tag, size and position, applied styles, and location in the DOM (Document Object Model) tree so you can quickly fix the error.      &lt;br /&gt;Expression Web SuperPreview for Internet Explorer is a standalone, free application with no expiration and no technical support from Microsoft. &lt;/p&gt;    &lt;p&gt;If you’d like to debug your pages for both Internet Explorer and Firefox, &lt;a href="http://www.microsoft.com/expression/try-it/Default.aspx#PageTop"&gt;download the free 60-day trial of Microsoft Expression Web.&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The older solution was to use one of the &lt;a href="http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;amp;displaylang=en"&gt;Internet Explorer Application Compatibility VPC Images&lt;/a&gt; which will expire January 1, 2010.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7205945" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/IE/default.aspx">IE</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/HTML/default.aspx">HTML</category></item><item><title>How to download Internet Explorer 8 for Windows 7 E without any Web browser?</title><link>http://weblogs.asp.net/mschwarz/archive/2009/07/15/how-to-download-internet-explorer-8-for-windows-7-e-without-any-web-browser.aspx</link><pubDate>Wed, 15 Jul 2009 10:44:28 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7147729</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7147729</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7147729</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/07/15/how-to-download-internet-explorer-8-for-windows-7-e-without-any-web-browser.aspx#comments</comments><description>&lt;p&gt;Windows 7 RTM will be available in the next days and for all European users there will be no Internet Explorer 8. I’m not sure if there will be an option to install Internet Explorer from the setup DVD or if we can simple add this as a Windows feature in control panel.&lt;/p&gt;  &lt;p&gt;Following command line batch file will download Internet Explorer 8 setup:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;@echo off &lt;/p&gt;    &lt;p&gt;if exist download-IE8.cs del download-IE8.cs &lt;/p&gt;    &lt;p&gt;echo using System; &amp;gt; download-IE8.cs     &lt;br /&gt;echo using System.Net; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo using System.IO; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo namespace Download_IE8 &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160; class Program &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args) &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (File.Exists(&amp;quot;IE8-WindowsVista-x86-DEU.exe&amp;quot;)) &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; File.Delete(&amp;quot;IE8-WindowsVista-x86-DEU.exe&amp;quot;); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(&amp;quot;&lt;a href="http://download.microsoft.com/download/3/D/C/3DC5DC1B-2B60-487A-BAE2-732662BC0886/IE8-WindowsVista-x86-DEU.exe&amp;quot;);"&gt;http://download.microsoft.com/download/3/D/C/3DC5DC1B-2B60-487A-BAE2-732662BC0886/IE8-WindowsVista-x86-DEU.exe&amp;quot;);&lt;/a&gt; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; request.UserAgent = &amp;quot;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;)&amp;quot;; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; request.AllowWriteStreamBuffering = false; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; request.Timeout = 10000; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; using (Stream s = request.GetResponse().GetResponseStream()) &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FileStream fs = new FileStream(&amp;quot;IE8-WindowsVista-x86-DEU.exe&amp;quot;, FileMode.Create); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; byte[] read = new byte[1024]; &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int count = s.Read(read, 0, read.Length); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while (count != 0) &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fs.Write(read, 0, count); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; count = s.Read(read, 0, read.Length); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.Write(&amp;quot;.&amp;quot;); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Done.&amp;quot;); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Threading.Thread.Sleep(5000); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Diagnostics.Process.Start(&amp;quot;IE8-WindowsVista-x86-DEU.exe&amp;quot;); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (Exception ex) &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Error: &amp;quot; + ex.Message); &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo } &amp;gt;&amp;gt; download-IE8.cs      &lt;br /&gt;echo. &amp;gt;&amp;gt; download-IE8.cs &lt;/p&gt;    &lt;p&gt;if not exist download-IE8.cs goto ERROR1 &lt;/p&gt;    &lt;p&gt;&amp;quot;%WINDIR%\Microsoft.NET\Framework\v3.5\csc.exe&amp;quot; download-IE8.cs &lt;/p&gt;    &lt;p&gt;download-IE8.exe &lt;/p&gt;    &lt;p&gt;if not exists download-IE8.exe goto ERROR2 &lt;/p&gt;    &lt;p&gt;:ERROR1 &lt;/p&gt;    &lt;p&gt;echo Could not create C# source file. &lt;/p&gt;    &lt;p&gt;goto END &lt;/p&gt;    &lt;p&gt;:ERROR2 &lt;/p&gt;    &lt;p&gt;echo Could not create executable to download IE8. &lt;/p&gt;    &lt;p&gt;goto END &lt;/p&gt;    &lt;p&gt;:END &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Note: this is a first version of my script that will download Internet Explorer 8 German for Windows Vista (x86) only. If it is working I will modify it to have an option to choose the correct version you need. Well, if Microsoft is adding a checkbox to the Windows features in control panel we don’t need it.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7147729" width="1" height="1"&gt;</description></item><item><title>Results of AJAX Statistic for .NET Development</title><link>http://weblogs.asp.net/mschwarz/archive/2009/06/23/results-of-ajax-statistic-for-net-development.aspx</link><pubDate>Tue, 23 Jun 2009 07:36:12 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7132419</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7132419</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7132419</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/06/23/results-of-ajax-statistic-for-net-development.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://codeclimber.net.nz/"&gt;Simone&lt;/a&gt; has created another &lt;a href="http://codeclimber.net.nz/archive/2009/06/22/ajax-survey-2009-jquery-and-ms-ajax-are-almost-tied.aspx"&gt;survey&lt;/a&gt; concerning AJAX usage with ASP.NET. The results are available, now, and it is really interesting to see that there are only small changes in the use of AJAX libraries for ASP.NET developers.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The &lt;strong&gt;most used Ajax/JS library&lt;/strong&gt; among .NET developers is &lt;/em&gt;&lt;a href="http://jquery.com/"&gt;&lt;strong&gt;&lt;em&gt;jQuery&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;, which is used by the &lt;strong&gt;71,4%&lt;/strong&gt; of the users. Second comes the &lt;/em&gt;&lt;a href="http://asp.net/ajax/ajaxcontroltoolkit/"&gt;&lt;strong&gt;&lt;em&gt;Ajax Control Toolkit&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt; with &lt;strong&gt;58,8%&lt;/strong&gt;, followed by the core &lt;/em&gt;&lt;a href="http://asp.net/ajax/"&gt;&lt;strong&gt;&lt;em&gt;ASP.NET Ajax&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt; library&lt;/strong&gt;, which is used by &lt;strong&gt;44,8%&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The 3 most used libraries are still the same of 2007, just with the opposite order (it was ASP.NET Ajax, the Control Toolkit and then jQuery).&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;He writes more about the results concerning my library:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;And, despite &lt;/em&gt;&lt;a href="http://weblogs.asp.net/mschwarz/archive/2008/01/04/future-of-ajax-net-professional.aspx"&gt;&lt;em&gt;becoming a dormant project&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a href="http://www.ajaxpro.info/"&gt;&lt;em&gt;AJAX.NET Professional&lt;/em&gt;&lt;/a&gt;&lt;em&gt; lost only 3% of the users.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Here are the results in more detail:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="379"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;&lt;strong&gt;2007&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="59"&gt;&lt;strong&gt;2009&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="59"&gt;&lt;strong&gt;diff&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;jQuery&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;13,3%&lt;/td&gt;        &lt;td valign="top" width="64"&gt;71,4%&lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;font color="#00ff00"&gt;58,1%&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;AJAX Control Toolkit&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;49,6%&lt;/td&gt;        &lt;td valign="top" width="67"&gt;58,8%&lt;/td&gt;        &lt;td valign="top" width="66"&gt;9,2%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;ASP.NET Ajax&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;73,7%&lt;/td&gt;        &lt;td valign="top" width="69"&gt;44,8%&lt;/td&gt;        &lt;td valign="top" width="68"&gt;&lt;font color="#ff0000"&gt;-28,9%&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Telerik radControls&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,7%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;15,6%&lt;/td&gt;        &lt;td valign="top" width="69"&gt;3,9%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;a href="http://www.ajaxpro.info/"&gt;&lt;strong&gt;Ajax.NET Professional&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;13,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;10,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-3,0%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;JSON.NET&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;3,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;9,7%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;6,4%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Raw Ajax&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;8,6%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-2,7%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Prototype&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,5%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;8,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-3,2%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Yahoo! UI&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;5,5%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;7,0%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;1,5%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Ext JS&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;6,1%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;6,1%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;0,0%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Script.aculo.us&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;9,7%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;5,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-4,4%&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;It is really interesting that there is only one big change, jQuery become the new #1, I use jQuery in combination with my own library since the very beginning, and this combination is still what I recommend to use.&lt;/p&gt;  &lt;p&gt;If you have a look at the &lt;a href="http://ajaxpro.codeplex.com/stats"&gt;CodePlex download statistics&lt;/a&gt; you can see that Ajax.NET Professional is still alive: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/mschwarz/image_3F85E272.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/mschwarz/image_thumb_107380CE.png" width="420" height="222" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And for those of you are interested: yes, I’m still developing my private version of &lt;a href="http://www.ajaxpro.info/"&gt;Ajax.NET Professional&lt;/a&gt;. I have added several features that let me work with JavaScript, jQuery and ASP.NET more faster. One interesting feature I have added is the AjaxHashCode attribute that will append a __hash property to the JSON converted structure. This can be compared more faster on the client-side JavaScript code to indentify if there is a change in live data. Maybe I will have some time to publish my private version which is not 100% compatible with the public one, but maybe interesting for some of you.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7132419" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/MVC/default.aspx">MVC</category></item><item><title>IActiveScriptParse and x64</title><link>http://weblogs.asp.net/mschwarz/archive/2009/06/19/iactivescriptparse-and-x64.aspx</link><pubDate>Fri, 19 Jun 2009 14:20:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7130148</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7130148</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7130148</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/06/19/iactivescriptparse-and-x64.aspx#comments</comments><description>&lt;p&gt;Some days ago I had to work on an .NET application that has been ported from C++. This application is using VBScript as scripting host using the IActiveScriptParse interface. While the C++ compile was working fine on x64 the .NET port didn’t work.&lt;/p&gt;  &lt;p&gt;To understand why it is not working I had a look at the target platform settings in the .NET project. By default Visual Studio is using &lt;em&gt;Any CPU&lt;/em&gt;. The .NET runtime then will have a look at the PE header to identify if the assembly has been compiled with &lt;em&gt;Any CPU&lt;/em&gt;, &lt;em&gt;x86&lt;/em&gt; or &lt;em&gt;x64&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;The IActiveScriptParse interface on x86 is mapped to IActiveScriptParse32 with the ClassID BB1A2AE2-A4F9-11cf-8F20-00805F2CD064. The easiest way to get it working on x64 was to mark the assembly as x86. You can do this with the target platform property in your Visual Studio project or by using the corflags.exe:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;corflags.exe ConsoleApplication1.exe /32BIT+&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well, the effect is that the the application is running in 32-bit mode on x64 what I don’t want to. There must be a better solution to do the trick and keep the &lt;em&gt;Any CPU&lt;/em&gt; target platform.&lt;/p&gt;  &lt;p&gt;Let’s have a more detailed look in the C++ source code. The interface IID_IActiveScriptParse is mapping to IID_IActiveScriptParse32. When reading the source code file &lt;em&gt;ActivScp.h&lt;/em&gt; I found that there is a x64 version, too. When I had a look at the OLE-COM Viewer I didn’t find it there. Ok, I will take the new ClassID C7EF7658-E1EE-480E-97EA-D52CB4D76D17 from &lt;em&gt;ActiveScp.h&lt;/em&gt; and use it on x64 platforms. To device if you’re running on x64 or x86 you can check the size of IntPtr:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;if (IntPtr.Size == 4)        &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IActiveScriptParse32 x = (IActiveScriptParse32)Activator.CreateInstance(t);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; script32.InitNew();         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // …         &lt;br /&gt;}         &lt;br /&gt;else         &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IActiveScriptParse64 y = (IActiveScriptParse64)Activator.CreateInstance(t);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // …         &lt;br /&gt;}&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hm, that’s working in my .NET application, but not really nice. I will create a wrapper around the both interfaces as the method arguments are the same (except the size of the IntPtr, of course).&lt;/p&gt;  &lt;p&gt;While searching for the x64 interface description I found that Microsoft already created such a wrapper. You can find this in &lt;a href="http://www.koders.com/csharp/fidFE726C3F9EFE93E72AF241DBD7A6970345AE0835.aspx?s=C7EF7658-E1EE-480E-97EA-D52CB4D76D17"&gt;_comimports.cs&lt;/a&gt;, but all members are marked as internal and a define is set to not compile the code, why? I don’t understand this. &lt;/p&gt;  &lt;p&gt;Using the wrapper couldn’t be easier:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Type t = Type.GetTypeFromProgID(&amp;quot;VBScript&amp;quot;);        &lt;br /&gt;ActiveScriptParseWrapper wrapper = new ActiveScriptParseWrapper(Activator.CreateInstance(t));         &lt;br /&gt;wrapper.InitNew();         &lt;br /&gt;// …&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I’ve created a &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=467474"&gt;feedback&lt;/a&gt; at Microsoft Connect, maybe we’ll get this or find a common solution for this.&lt;/p&gt;  &lt;p&gt;Just one note: using C++ the compiler will always use the x86 version (IActiveScriptParse32). You need to add a define #define _WIN64 to explicit use the x64 version. Oh, that means the x64 compiled version before could use the 32-bit one? That is the difference I still don’t understand why it is different using C++ or C#. Is this a bug or a feature by design?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7130148" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>MFtoolkit available soon in .NET MF 3.0 SP1</title><link>http://weblogs.asp.net/mschwarz/archive/2009/04/01/mftoolkit-available-soon-in-net-mf-3-0-sp1.aspx</link><pubDate>Tue, 31 Mar 2009 22:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7017144</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7017144</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7017144</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/04/01/mftoolkit-available-soon-in-net-mf-3-0-sp1.aspx#comments</comments><description>&lt;p&gt;Microsoft announced that parts of the &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;MFtoolkit&lt;/a&gt; will be available in the first service pack for .NET Micro Framework 3.0. Missing http support (currently we have only simple WebServices) is one of the most requested features. Support for hardware devices / modules like XBee or common sensors are following right after. .NET MF 3.0 SP1 will be available around June 2009.&lt;/p&gt;  &lt;p&gt;Until then the &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;MFtoolkit&lt;/a&gt; will be still available at &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;CodePlex&lt;/a&gt;. This week we got some new features like NetBIOS lookup, C6820 camera driver, SHA1 and SHA256 support as well as more improvements for XBee and http server classes.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; yes, today is &lt;a href="http://en.wikipedia.org/wiki/April_Fools%27_Day"&gt;April Fools' Day&lt;/a&gt; or All Fools' Day.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7017144" width="1" height="1"&gt;</description></item><item><title>Ajax.NET Professional and ASP.NET MVC</title><link>http://weblogs.asp.net/mschwarz/archive/2009/03/25/ajax-net-professional-and-asp-net-mvc.aspx</link><pubDate>Wed, 25 Mar 2009 12:01:08 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6999541</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6999541</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6999541</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/03/25/ajax-net-professional-and-asp-net-mvc.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://my6solutions.com/"&gt;Sean Lin&lt;/a&gt; has written about how &lt;a href="http://my6solutions.com/post/2009/03/09/Running-AjaxNET-Professional-under-ASP-NET-MVC.aspx"&gt;Ajax.NET Professional (AjaxPro) can be used with ASP.NET MVC&lt;/a&gt; and what you have to change to get it working. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Anyway, I have been using Ajax.NET since .NET 2.0, as well as since .NET 3.5. I haven't found a good reason to switch and it even runs under ASP .NET MVC and I reckon it is still better than using Ajax.ActionLink(). Unless of course, there's some easier method that I do not know of then please feel free to enlighten me anytime. Most of my Ajax use centers around requesting data from the server asynchronously and then using javascript to update the DOM.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As there are still a lot of developers starting with AjaxPro right now I will publish a new release during the next weeks that will change AjaxPro to use jQuery instead my own JavaScript code.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6999541" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/MVC/default.aspx">MVC</category></item><item><title>How to fix German c:\Programme “Access denied”</title><link>http://weblogs.asp.net/mschwarz/archive/2009/02/27/how-to-fix-german-c-programme-access-denied.aspx</link><pubDate>Fri, 27 Feb 2009 18:29:05 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6931124</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6931124</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6931124</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/27/how-to-fix-german-c-programme-access-denied.aspx#comments</comments><description>&lt;p&gt;Some months ago I opened a Microsoft Support call to ask why &lt;a href="http://michael-schwarz.blogspot.com/2009/02/muss-microsoft-englisch-kurse-anbieten.html"&gt;I cannot open &lt;em&gt;c:\Programme&lt;/em&gt;&lt;/a&gt; (the German translated folder for &lt;em&gt;c:\Program Files&lt;/em&gt;) on Windows Vista or Windows 7 Beta. When you type &lt;em&gt;c:\Prog&lt;/em&gt; on a German Vista machine you will get a drop down list containing &lt;em&gt;c:\Programme&lt;/em&gt;. Use the arrow keys to select it and press enter. What you get is a access denied message.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/HowtofixGermancProgrammeAccessdenied_111EF/image.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="211" alt="image" src="http://www.ajaxpro.info/images/blog/HowtofixGermancProgrammeAccessdenied_111EF/image_thumb.png" width="429" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Another test I did was to open &lt;em&gt;c:\Programme\Windows NT&lt;/em&gt;, and wow, this was working without any problem. But when I clicked in the address bar on the &lt;em&gt;Programme&lt;/em&gt; tab I got access denied, too.&lt;/p&gt;  &lt;p&gt;For those of you don’t understand what the problem is: on Windows XP Microsoft decided to use the translated name of &lt;em&gt;Program Files&lt;/em&gt;. Some applications didn’t asked the OS for the program files folder and used instead hard coded &lt;em&gt;c:\Programme&lt;/em&gt;. To get those applications running on Windows Vista Microsoft introduced the symbolic links. But here is the problem, they are not working as I (and others) expect.&lt;/p&gt;  &lt;p&gt;Well, the end of the story is that I found a &lt;a href="http://michael-schwarz.blogspot.com/2009/02/noch-ein-letztes-wort-zu-cprogramme-und.html"&gt;solution&lt;/a&gt; how to fix it (note that I’m not responsible for any damage or problem doing following steps):&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;using administrative rights open a DOS box with &lt;strong&gt;cmd.exe&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;there go to the root directory of the system drive using &lt;strong&gt;cd /D %systemdrive%\&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;next you have to delete the symbolic link with &lt;strong&gt;rd Programme&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;add the symbolic link using &lt;strong&gt;mklink.exe /J Programme “c:\Program Files”&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;to hide the link you can use &lt;strong&gt;attrib +H c:\Programme&lt;/strong&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Microsoft Next Level Support told me today that they would use this solution for any support call in the future, maybe they will add a KB article next, too.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;We are taken your solution in account in future OS. For current OS we will not provide a hotfix for security reasons. In Windows 7 Beta we have the same behaviour. Hopefully it get fixed for release version which is the job of the development team.&lt;/p&gt;    &lt;p&gt;It was my pleasure to talk to you today. Following our telephone conversation I will proceed further with the temporary archive of the SRZ….&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I checked this behaviour on different languages, but all I checked are using &lt;em&gt;c:\Program Files&lt;/em&gt; since the beginning, seems to be only a bug (Microsoft told me first it is by design) in the German OS.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6931124" width="1" height="1"&gt;</description></item><item><title>Moving .NET Micro Framework Stuff to a New Blog</title><link>http://weblogs.asp.net/mschwarz/archive/2009/02/23/moving-net-micro-framework-stuff-to-a-new-blog.aspx</link><pubDate>Mon, 23 Feb 2009 09:45:51 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6924057</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6924057</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6924057</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/23/moving-net-micro-framework-stuff-to-a-new-blog.aspx#comments</comments><description>&lt;p&gt;As this blog is more about ASP.NET and AJAX development I’m moving the .NET Micro Framework related stuff to a new blog. If you want to continue reading update your RSS reader to &lt;a title="http://netmicroframework.blogspot.com/" href="http://netmicroframework.blogspot.com/"&gt;http://netmicroframework.blogspot.com/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I have started today with this blog and hope I can put some pictures from next week starting &lt;a href="http://www.embedded-world.de/"&gt;Embedded World&lt;/a&gt; here in Nuremberg. Yesterday I have received the &lt;a href="http://netmicroframework.blogspot.com/2009/02/aug-ami-devkit-shipping.html"&gt;AUG AMI Developer Kit&lt;/a&gt; (&lt;a href="http://www.aug-elektronik.at/"&gt;AUG Elektronik GmbH&lt;/a&gt;) with a really great looking OLED display. I will write more about the new device this week.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6924057" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category></item><item><title>Ajax.NET M! (mobile edition) cancelled</title><link>http://weblogs.asp.net/mschwarz/archive/2009/02/13/ajax-net-m-mobile-edition-cancelled.aspx</link><pubDate>Fri, 13 Feb 2009 09:20:44 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6902223</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6902223</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6902223</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/13/ajax-net-m-mobile-edition-cancelled.aspx#comments</comments><description>&lt;p&gt;Some months ago I started to implement an Ajax.NET Professional version for .NET Compact and Micro Framework. Some weeks later I decided to build a library with several network related features and I’m now moving the Ajax.NET M! to this new project at CodePlex.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/mschwarztoolkit"&gt;Michael’s Networking Toolkit&lt;/a&gt; provides featrues like a DNS resolver, an HTTP server (AJAX support will be added right now) and &lt;a href="http://www.digi.com/products/wireless/zigbee-mesh/"&gt;XBee&lt;/a&gt; module support (from Digi International).&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6902223" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Source+Code/default.aspx">Source Code</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Mobile/default.aspx">Mobile</category></item><item><title>Follow me on Twitter</title><link>http://weblogs.asp.net/mschwarz/archive/2009/01/16/follow-me-on-twitter.aspx</link><pubDate>Fri, 16 Jan 2009 06:38:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6838019</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6838019</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6838019</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/01/16/follow-me-on-twitter.aspx#comments</comments><description>&lt;P&gt;&lt;STRIKE&gt;A long time ago I registered at twitter but never posted any message there. But things are changing and I have started using Twitter, now. You’ll find my Twitter feed at &lt;/STRIKE&gt;&lt;STRONG&gt;&lt;STRIKE&gt;http://twitter.com/mschwarz77en&lt;/STRIKE&gt;&lt;/STRONG&gt;&lt;STRIKE&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt; ( &lt;/STRIKE&gt;&lt;STRIKE&gt;http://twitter.com/mschwarz77&lt;/STRIKE&gt;&lt;STRIKE&gt; is my German one).&lt;/STRIKE&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; Well, I have stopped using twitter any more... sorry for all my followers!&lt;/P&gt;
&lt;P&gt;For German readers I have created a German blog at &lt;A href="http://michael-schwarz.blogspot.com/" mce_href="http://michael-schwarz.blogspot.com/"&gt;http://michael-schwarz.blogspot.com/&lt;/A&gt; where I’m writing about everything I find interesting.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6838019" width="1" height="1"&gt;</description></item><item><title>Congratulations 2009 Microsoft MVP!</title><link>http://weblogs.asp.net/mschwarz/archive/2009/01/01/congratulations-2009-microsoft-mvp.aspx</link><pubDate>Thu, 01 Jan 2009 22:16:40 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6812420</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6812420</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6812420</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/01/01/congratulations-2009-microsoft-mvp.aspx#comments</comments><description>&lt;p&gt;Wishing all a Happy New Year 2009! Today I have received a congratulation mail from Microsoft telling me that I have been nominated another year the &lt;a href="https://mvp.support.microsoft.com/profile/Michael.Schwarz"&gt;Microsoft Most Valuable Professional&lt;/a&gt; (MVP) award in ASP.NET Development. I’m very happy about this mail and my fourth year being a MVP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/Congratulations2009MicrosoftMVP_145FE/MVPLogo.jpg"&gt;&lt;img title="MVPLogo" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="75" alt="MVPLogo" src="http://www.ajaxpro.info/images/blog/Congratulations2009MicrosoftMVP_145FE/MVPLogo_thumb.jpg" width="400" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dear Michael Schwarz,&lt;/p&gt;    &lt;p&gt;Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.&lt;/p&gt;    &lt;p&gt;The Microsoft MVP Award provides us the unique opportunity to celebrate and honor your significant contributions and say &lt;i&gt;&amp;quot;Thank you for your technical leadership.”&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thanks to all the developers, community members and friends that have worked together with me. Another great year 2009 is starting right now with Windows 7, Visual Studio 2010, Windows Azure,…&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6812420" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>How to bridge 40 km (or more) with two XBee-PRO 868 modules?</title><link>http://weblogs.asp.net/mschwarz/archive/2008/12/11/how-to-bridge-40-km-or-more-with-two-xbee-pro-868-modules.aspx</link><pubDate>Thu, 11 Dec 2008 11:25:10 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6778041</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6778041</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6778041</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/12/11/how-to-bridge-40-km-or-more-with-two-xbee-pro-868-modules.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/Howtobridge40kmormorewithtwoXBeePRO868mo_AEA1/xbeeproxscrpsma.jpg"&gt;&lt;img title="xbeeproxsc-rpsma" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="170" alt="xbeeproxsc-rpsma" src="http://www.ajaxpro.info/images/blog/Howtobridge40kmormorewithtwoXBeePRO868mo_AEA1/xbeeproxscrpsma_thumb.jpg" width="170" align="right" border="0" /&gt;&lt;/a&gt; Since I first used the XBee modules from Digi International I got questions from developers how to get higher ranges. Well, the XBee 802.15.4 modules I’m currently using have a maximum range of nearly 100 m. The XBee-PRO modules that are using 63 mW (+18dBm) power output could reach up to 1 mile (~1.6 km). In Germany you have to limit the XBee-PRO modules to +10dBm because of some restrictions in the 2.4 GHz band, so you loose some meters.&lt;/p&gt;  &lt;p&gt;Digi International now offers the &lt;a href="http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp"&gt;XBee-PRO 868 modules&lt;/a&gt; which are using the 868 MHz short range device (SRD) GH3 band for Europe. With a dipole antenna you can reach 40 km, using a high gain antenna you should get a signal up to 80 km. The XBee-PRO 868 modules are pin-compatible with the XBee 802.15.4 modules which makes it very easy to choose the modules you need.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart. The XBee-PRO 868 features:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;868 MHz short range device (SRD) G3 band for Europe &lt;/li&gt;      &lt;li&gt;Software selectable Transmit Power &lt;/li&gt;      &lt;li&gt;40 km RF LOS w/ dipole antennas &lt;/li&gt;      &lt;li&gt;80 km RF LOS w/ high gain antennas (TX Power reduced) &lt;/li&gt;      &lt;li&gt;Simple to use peer-to-peer/point-to-mulitpoint topology &lt;/li&gt;      &lt;li&gt;128-bit AES encryption &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;By deploying this and any XBee device, OEMs are leveraging the value of the XBee product family and Digi's unsurpassed Drop-in Networking offering of gateways, adapters and network extenders. In addition, XBee users can take advantage of platform agility, the ability to rapidly change their XBee solution with minimal development.      &lt;br /&gt;Product summary:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;868 MHz SRD G3 band &lt;/li&gt;      &lt;li&gt;500 mW EIRP &lt;/li&gt;      &lt;li&gt;RPSMA, U.FL, or attached whip antenna options &lt;/li&gt;      &lt;li&gt;24 kbps RF data rate &lt;/li&gt;      &lt;li&gt;Industrial (-40C to +85C) temperature rating &lt;/li&gt;      &lt;li&gt;ETSI Approved &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;I have ordered two &lt;a href="http://www.digi.com/products/model.jsp?lid=EN&amp;amp;pgid=130&amp;amp;pfid=199&amp;amp;mtid=3193&amp;amp;amtid=3193&amp;amp;pm=Y"&gt;development kits&lt;/a&gt; each including two modules and USB/serial boards. Digi has an offer until end of February 2008: $99 USD compared to a single module that costs already between $69 and $72 USD. The kits contains:&lt;/p&gt;  &lt;blockquote&gt;   &lt;li&gt;(1) XBee-PRO 868 w/ RPSMA Connector &lt;/li&gt;    &lt;li&gt;(1) XBee-PRO 868 w/ Wire Whip antenna &lt;/li&gt;    &lt;li&gt;(1) RS-232 Development Boards &lt;/li&gt;    &lt;li&gt;(1) USB Development Board &lt;/li&gt;    &lt;li&gt;(1) RS-232 serial Cable &lt;/li&gt;    &lt;li&gt;(1) USB Cable &lt;/li&gt;    &lt;li&gt;(1) 868 MHz RPSMA Antenna&amp;#160; &lt;/li&gt;    &lt;li&gt;(1) Power Adapter &lt;/li&gt;    &lt;li&gt;(1) 9V Battery &amp;amp; Clip &lt;/li&gt;    &lt;li&gt;Various Adapters &lt;/li&gt; &lt;/blockquote&gt;  &lt;p&gt;My &lt;a href="http://www.codeplex.com/mschwarztoolkit/"&gt;XBee library&lt;/a&gt; will support both modules, of course, and will be released this week.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6778041" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category></item></channel></rss>