<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>The Moth</title><link>http://www.danielmoth.com/Blog/index.htm</link><description></description><language>en</language><managingEditor>noreply@blogger.com (The Moth)</managingEditor><lastBuildDate>Sun, 11 May 2008 16:55:17 -0500</lastBuildDate><generator>Blogger</generator><atom:id xmlns:atom="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-7744200</atom:id><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">723</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DanielMoth" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/DanielMoth" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="https://intouch.particls.com/download/?mode=2&amp;feed=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="https://intouch.particls.com/resources/buttons/it-button2.gif">Subscribe with Particls</feedburner:feedFlare><feedburner:feedFlare href="http://www.addtoany.com/?linkname=The%20Moth&amp;linkurl=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth&amp;type=feed" src="http://www.addtoany.com/addfr-b.gif">Add to Any Feed Reader</feedburner:feedFlare><feedburner:feedFlare href="http://www.fwicki.com/users/default.aspx?addfeed=http%3A%2F%2Ffeeds.feedburner.com%2FDanielMoth" src="http://www.fwicki.com/images/ui/fwicki_clicklet.png">Subscribe with fwicki</feedburner:feedFlare><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item><title>Last Flash issue for me</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/285949330/last-flash-issue-for-me.html</link><category>Links</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 08 May 2008 03:48:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-7722248446925280364</guid><description>In last’s week Flash issue, I wrote 500 words &lt;a href="http://www.microsoft.com/uk/msdn/flash/20080430.htm#EGAAAAAA"&gt;About Silverlight 2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have enjoyed being the editor of the &lt;a href="http://www.danielmoth.com/Blog/2007/07/msdn-flash-newsletter.html"&gt;UK MSDN Flash newsletter&lt;/a&gt;. Ever since I took it over, it has topped Microsoft's (worldwide) newsletter &lt;em&gt;growth&lt;/em&gt; stats compared to previous years in more areas than one. Additionally, its format inspired other newsletters from other Microsoft subsidiaries outside the UK. Hope you don't mind me blowing my own horn and since I can't publically back up these claims with numbers, you'll just have to take my word for it ;-).  Exactly a year after the first issue I edited, the time has come for me to hand the newsletter back and I look forward to receiving it with a bit more anticipation as to what content I'll find inside!&lt;br /&gt;&lt;br /&gt;Thanks to everyone that stayed tuned to that &lt;a href="http://www.microsoft.com/feeds/MSDN/en-gb/newsletter-archive/rss.xml"&gt;Flash feed&lt;/a&gt;, and I also hope you'll stay tuned to my &lt;a href="feed://feeds.feedburner.com/DanielMoth"&gt;blog feed&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=lKjiwH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=lKjiwH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=mAaq3H"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=mAaq3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=1DxtVh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=1DxtVh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=a1HZqh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=a1HZqh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=8ikm7H"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=8ikm7H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=uT7yNh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=uT7yNh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/285949330" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-05-08T09:48:01.792+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F05%2Flast-flash-issue-for-me.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/05/last-flash-issue-for-me.html</feedburner:origLink></item><item><title>LINQ to XML, namespaces and VB</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/284645338/linq-to-xml-namespaces-and-vb.html</link><category>dot NET general</category><category>LINQ</category><author>noreply@blogger.com (The Moth)</author><pubDate>Tue, 06 May 2008 08:30:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-1074626935517509175</guid><description>Recently I was playing with some &lt;a href="http://www.danielmoth.com/Blog/2007/05/systemxmllinq.html"&gt;LINQ to XML&lt;/a&gt; for a demo I was preparing and was having trouble retrieving the expected values from what was a &lt;em&gt;&lt;strong&gt;very &lt;/strong&gt;&lt;/em&gt;straightforward query.&lt;br /&gt;&lt;br /&gt;Have a look at the &lt;a href="http://www.danielmoth.com/Blog/SampleResults.xml"&gt;XML file that looks like this&lt;/a&gt; (the results of programmatically calling &lt;a href="http://docs.amazonwebservices.com/AWSEcommerceService/4-0/ApiReference/ItemSearchOperation.html"&gt;this Amazon service&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Each &lt;code&gt;Item&lt;/code&gt; element represents a book and I wanted to retrieve the &lt;code&gt;Title&lt;/code&gt;. How would you form that query with LINQ to XML?&lt;br /&gt;&lt;br /&gt;I went for the obvious:&lt;pre&gt;  var res =&lt;br /&gt;    from ia in XElement.Parse(e.Result).DescendantsAndSelf("ItemAttributes")&lt;br /&gt;    select ia.Element("Title").Value;&lt;/pre&gt;When that did not produce the expected results I scratched my "tired" head at the time and pinged MikeT who came up with the correct way of doing this (you still have time to work it out on your own).&lt;br /&gt;&lt;br /&gt;The clue (and at the same time further "excuse") is that all my previous experiments with LINQ to XML involved using my own demo XML files that never had namespaces inside so I forgot all about them (haven't &lt;a href="http://odetocode.com/Blogs/scott/archive/2008/05/04/12047.aspx"&gt;paid the tax in a while&lt;/a&gt;). I find quite ugly what you have to do to incorporate namespaces in a LINQ to XML query, but there seems to be no nicer alternative to the following (thanks Mike):&lt;pre&gt;void SomeMethod()&lt;br /&gt;{&lt;br /&gt;  var res =&lt;br /&gt;    from ia in XElement.Parse(e.Result).DescendantsAndSelf(n("ItemAttributes"))&lt;br /&gt;    select ia.Element(n("Title")).Value;&lt;br /&gt;&lt;br /&gt;  // TODO use res&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static XName n(string name)&lt;br /&gt;{&lt;br /&gt;  return XNamespace.Get("http://webservices.amazon.com/AWSECommerceService/2005-10-05") + name;&lt;br /&gt;}&lt;/pre&gt;I still didn't like this solution for the simple demo I wanted to use it for. So, I recalled VB's superior support for XML and I converted the project to VB and used the following instead which needs no extra method and is all round more elegant:&lt;pre&gt;  Dim res = _&lt;br /&gt;    From ia In XElement.Parse(e.Result)...&amp;lt;n:ItemAttributes&amp;gt; _&lt;br /&gt;    Select ia...&amp;lt;n:Title&amp;gt;.Value()&lt;/pre&gt;...and if you are wondering where the &lt;code&gt;n&lt;/code&gt; comes from, that is at the top of the VB file:&lt;br /&gt;&lt;pre&gt;Imports &amp;lt;xmlns:n="http://webservices.amazon.com/AWSECommerceService/2005-10-05"&amp;gt;&lt;/pre&gt;...another aspect of VB's beauty and another thing I had the opportunity to mention in my demo ;-)&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=bMeblH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=bMeblH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=DajQxH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=DajQxH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=b8maGh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=b8maGh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=a1Hkuh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=a1Hkuh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=9vfFAH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=9vfFAH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=1Fztkh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=1Fztkh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/284645338" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-05-06T14:30:01.655+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F05%2Flinq-to-xml-namespaces-and-vb.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/05/linq-to-xml-namespaces-and-vb.html</feedburner:origLink></item><item><title>Lenovo Fn key</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/282980039/lenovo-fn-key.html</link><category>Personal</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sat, 03 May 2008 17:52:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-825674035118298783</guid><description>Very recently I received (from work) a new laptop: Lenovo T61p (to replace my aging Toshiba M5). There are quite a few gotchas with setting up this machine (e.g. I wasted an hour trying to get it to see a second internal drive), but I will spare you my setup/installation experience. Instead, you may be interested in &lt;a href="http://blogs.technet.com/keithcombs/archive/2007/11/11/installing-windows-vista-x64-on-a-thinkpad-t61p.aspx"&gt;Keith's helpful post here&lt;/a&gt;. Generally, I am happy with this machine from a performance perspective.&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/WindowsExperienceIndexT61p.png" /&gt;&lt;br /&gt;&lt;br /&gt;There is however the quite important issue of its keyboard: it's the &lt;em&gt;laptop keyboard&lt;/em&gt; from hell. Why the "£$^&amp;amp;* don't we have a universal standard for laptop keyboards yet? The placement of keys on this laptop is weird (e.g. the ESC key is further up than the top row of keys instead of being aligned with the Function keys) and also keys I usually expect to be more easily accessible than other keys (e.g. up, down, left, right arrow keys) are actually... smaller and cramped close to the others!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;However the biscuit goes to the Fn key placement in relation to the Ctrl key&lt;/strong&gt;. I expected the Ctrl key to be firmly placed in the bottom left and for it to be larger than other keys. Instead, the Ctrl key is normal size and it is 2nd from the bottom left, its place taken by the rarely used Fn key! What is worst is that, apparently, there is no keymapping software that can fix this, since Lenovo in their wisdom have made it permanent in the firmware :-(&lt;br /&gt;&lt;br /&gt;One of the worst examples of how this trips me up is copy/paste (Ctrl+C, Ctrl+V). I have some source window where I do a copy (but in reality I only did an Fn+C without realising it) and then close the window, switch to my target window and do a paste (in reality a Fn+V) and nothing happens. Then I realise my mistake but it's too late to do a Ctrl+V now since the copy was never actioned... Arghh!&lt;br /&gt;&lt;br /&gt;If you think that I am overreacting, first try using a keyboard like that before passing judgement. If you own one and think I am overreacting, clearly you haven't tried pressing Ctrl+Shift+B (Build Solution in Visual Studio) or Ctrl+Shift+Esc (bring up Task Manager) with just one hand (impossible!). Anyway, it looks like I am not alone judging by the collections of complaints &lt;a href="http://www.ashbaughonline.com/2006/08/12/thinkpad-fn-ctrl-key/trackback/"&gt;here&lt;/a&gt;, &lt;a href="http://alexle.net/archives/227"&gt;here&lt;/a&gt;, &lt;a href="http://forum.tabletpcreview.com/showthread.php?t=9615"&gt;here&lt;/a&gt; and &lt;a href="http://justaddwater.dk/2007/05/17/new-laptop-with-better-defaults/trackback/"&gt;here&lt;/a&gt; amongst other places.&lt;br /&gt;&lt;br /&gt;My partial solution: I &lt;a href="http://www.danielmoth.com/Blog/LenovoKeyboardWTF.jpg"&gt;removed the offending key completely (screenshot)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As an unrelated aside, the Mac Air suffers from the same bewildering choice of placement of the Fn and Ctrl keys. As a more related aside, if you see me struggling to type in my upcoming events, now you know why!&lt;br /&gt;&lt;br /&gt;&amp;lt;end of rant/&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Q9Nh3H"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Q9Nh3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=VD7XDH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=VD7XDH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=5ASwFh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=5ASwFh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=sVgW4h"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=sVgW4h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=gtvgLH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=gtvgLH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=GBtCRh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=GBtCRh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/282980039" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-05-04T00:06:11.527+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F05%2Flenovo-fn-key.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/05/lenovo-fn-key.html</feedburner:origLink></item><item><title>May Events</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/279619297/may-events.html</link><category>Events</category><author>noreply@blogger.com (The Moth)</author><pubDate>Mon, 28 Apr 2008 15:28:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-8343182898275798175</guid><description>Just came back from a much need holiday (in &lt;em&gt;Madrid&lt;/em&gt;) and since I have no new technical content to post, I thought I'd follow my blog's tradition (&lt;a href="http://www.danielmoth.com/Blog/2008/01/my-january-events.html"&gt;Jan&lt;/a&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/02/february-events.html"&gt;Feb&lt;/a&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/02/march-and-april-events.html"&gt;Mar and Apr&lt;/a&gt;) and list the events that I am presenting at in May. Funny thing is that after a recent &lt;a href="http://www.danielmoth.com/Blog/2008/04/spending-my-life-in-airports-and-planes.html"&gt;storm of flights&lt;/a&gt;, all of the below involve flights as well. Will I ever get sick of this?&lt;br /&gt;&lt;br /&gt;+ 1st, &lt;em&gt;Manchester&lt;/em&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/02/uk-msdn-roadshow-2008.html"&gt;MSDN Roadshow 2008&lt;/a&gt;.&lt;br /&gt;+ 10th, &lt;em&gt;Glasgow&lt;/em&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/03/dds-attend-my-parallel-extensions-talk.html"&gt;DDD Scotland&lt;/a&gt;.&lt;br /&gt;+ 13th, &lt;em&gt;Glasgow&lt;/em&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/02/uk-msdn-roadshow-2008.html"&gt;MSDN Roadshow 2008&lt;/a&gt;.&lt;br /&gt;+ 16th, &lt;em&gt;Newcastle&lt;/em&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/02/uk-msdn-roadshow-2008.html"&gt;MSDN Roadshow 2008&lt;/a&gt;.&lt;br /&gt;+ 22-23, &lt;em&gt;Amsterdam&lt;/em&gt;, &lt;a href="http://www.danielmoth.com/Blog/2008/04/devdays-2008-in-amsterdam.html"&gt;DevDays 2008&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A week after I fly back from Amsterdam, I fly to &lt;em&gt;Orlando&lt;/em&gt; for Tech Ed US (more on that nearer the time).&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=l2XJdG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=l2XJdG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=RsemRG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=RsemRG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=cLuJeg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=cLuJeg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Ra0yAg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Ra0yAg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=q4xHBG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=q4xHBG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=9y1ucg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=9y1ucg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/279619297" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-28T21:28:11.062+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fmay-events.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/may-events.html</feedburner:origLink></item><item><title>DevDays 2008 in Amsterdam</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/279614137/devdays-2008-in-amsterdam.html</link><category>Events</category><author>noreply@blogger.com (The Moth)</author><pubDate>Mon, 28 Apr 2008 15:04:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-4343549753895364654</guid><description>Last year I presented for the first time in the Netherlands at &lt;a href="http://www.danielmoth.com/Blog/2007/05/devdays-2007-in-netherlands.html"&gt;DevDays&lt;/a&gt;. This year the organisers invited me back to present 3 talks (different to the 3 from last year) on 22 and 23 May. &lt;a href="http://www.devdays.nl/Inschrijven/Default.aspx"&gt;Register from here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will post on my blog resources for all 3 sessions once they are done, but for now, here are the session times, room and title info:&lt;br /&gt;&lt;br /&gt;- Thu, &lt;em&gt;10:50-12:00&lt;/em&gt;, Auditorium, &lt;strong&gt;Introduction to Silverlight 2&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Thu, &lt;em&gt;16:30-17:40&lt;/em&gt;, Auditorium, &lt;strong&gt;Five Cool Things to Know and Use for Smart Client Development with VS2008 and the Fx 3.5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Fri, &lt;em&gt;15:00-16:10&lt;/em&gt;, Zaal Forum, &lt;strong&gt;Parallel Extensions to the .NET Framework&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For the abstracts of the sessions above or to view the full conference schedule, click &lt;a href="http://www.devdays.nl/Programma.aspx?deel=22"&gt;here for the Thursday&lt;/a&gt; and &lt;a href="http://www.devdays.nl/Programma.aspx?deel=23"&gt;here for the Friday&lt;/a&gt;. Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=9gGxvG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=9gGxvG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=teZwMG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=teZwMG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=T0RySg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=T0RySg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=paZdeg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=paZdeg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=jJurSG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=jJurSG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=3aZG8g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=3aZG8g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/279614137" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-28T21:03:53.358+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fdevdays-2008-in-amsterdam.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/devdays-2008-in-amsterdam.html</feedburner:origLink></item><item><title>Networking in Silverlight 2 Beta 1</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/275408279/networking-in-silverlight-2-beta-1.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Tue, 22 Apr 2008 08:35:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-4067849310268572073</guid><description>&lt;em&gt;For the actual real content of this post I'll defer to other links, but at least you'll have all those links collected in one place: here ;-)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell, Silverlight 2 fully supports networking and calling services. It would be crazy if it didn't because by choosing the SL model you are choosing to run your application entirely on the client side (i.e. with no postbacks) so where will the real data come from (given that you are sandboxed in the browser and hence cannot access local data sources)? You have to connect somewhere to get it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The High Level Statement&lt;/strong&gt;&lt;br /&gt;Broadly speaking there are 4 options (which you can combine of course) to satisfy the requirement:&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; Call self-describing services such as asmx, WCF, Java services or anything else conforming to SOAP. This is what is mostly used in the enterprise space and you can imagine behind the service a database so the service is a facade into that.&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Call URL-based services (aka POX or REST) where you must construct the URL yourself by piecing information you read from the service's documentation and then parsing the results that come back which is typically a lamp of XML or JSON. Think e.g. services from amazon, ebay, flickr, youtube, digg etc&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Consume RSS or ATOM feeds. Hopefully I don't have to give examples of syndication here ;)&lt;br /&gt;&lt;strong&gt;4.&lt;/strong&gt; Raw sockets where communication takes place over the TCP channel.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Links Covering the 4 Sub-Topics Above&lt;/strong&gt;&lt;br /&gt;- Quickstart on &lt;a href="http://silverlight.net/Quickstarts/Remote/323aac2f-14cc-4dd8-bb40-fa2cb3c2e522.aspx"&gt;Building a WCF Web Service and Accessing It by Using a Proxy&lt;/a&gt;&lt;br /&gt;- Quickstart on &lt;a href="http://silverlight.net/Quickstarts/Remote/UsingREST.aspx"&gt;Sending and Receiving Plain XML Messages&lt;/a&gt;&lt;br /&gt;- Quickstart on &lt;a href="http://silverlight.net/Quickstarts/Remote/ed86e719-0da0-49e1-a9e1-b31f483070d4.aspx"&gt;Accessing Syndication Feeds with Silverlight&lt;/a&gt;&lt;br /&gt;- MSDN Documentation on &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc296248(vs.95).aspx"&gt;Working with Sockets&lt;/a&gt;&lt;br /&gt;- Karen's post on &lt;a href="http://scorbs.com/2008/04/05/silverlight-http-networking-stack-part-1-site-of-origin-communication/"&gt;Silverlight's HTTP Networking Stack&lt;/a&gt;&lt;br /&gt;- Wilco's post on &lt;a href="http://www.wilcob.com/Wilco/View.aspx?NewsID=215"&gt;HttpWebRequest in Silverlight&lt;/a&gt;&lt;br /&gt;- Mahjayar's post on &lt;a href="http://blogs.msdn.com/mahjayar/archive/2008/03/11/silverlight-2-0-rundown-of-webservices-related-functionality-in-beta1.aspx"&gt;Rundown of webservices-related Functionality in Beta 1&lt;/a&gt;&lt;br /&gt;- Mike's post on &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/18/10251.aspx"&gt;Silverlight 2 and Sockets&lt;/a&gt;&lt;br /&gt;- Tim's post on &lt;a href="http://timheuer.com/blog/archive/2008/03/14/calling-web-services-with-silverlight-2.aspx"&gt;Calling Web Services in Silverlight 2&lt;/a&gt;&lt;br /&gt;- MSDN Documentation on &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc296254(VS.95).aspx"&gt;Accessing Web Services in Silverlight&lt;/a&gt; (6 rich sub sections)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;"I only have 1 hour and 5 minutes to look into this stuff, where should I go?"&lt;/strong&gt;&lt;br /&gt;You need to watch the &lt;a href="http://sessions.visitmix.com/?selectedSearch=T13"&gt;session from MIX&lt;/a&gt; titled "Working with Data and Web Services in Microsoft Silverlight 2" delivered by Eugene. The direct link to &lt;a href="http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/T13.wmv"&gt;the WMV file is here (save as)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=xglo8MG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=xglo8MG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=BBCPIXG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=BBCPIXG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=KtSrgZg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=KtSrgZg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=RPiqT4g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=RPiqT4g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=SooloPG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=SooloPG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ckomyag"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ckomyag" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/275408279" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-22T14:35:57.136+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fnetworking-in-silverlight-2-beta-1.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/networking-in-silverlight-2-beta-1.html</feedburner:origLink></item><item><title>Getting Started with IronPython</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/273518794/getting-started-with-ironpython.html</link><category>Links</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sat, 19 Apr 2008 07:45:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-4288798482957006718</guid><description>My TODO list has had for a while to find some time to play with the Dynamic Language Runtime (DLR) and I may find an excuse to do that soon given that it is supported (and aligned to ship with) Silverlight 2. In the meantime, I needed a true expert to write a short related article for the &lt;a href="http://www.danielmoth.com/Blog/2007/07/msdn-flash-newsletter.html"&gt;MSDN Flash&lt;/a&gt;. All my research pointed to one guy and he happened to be based in the UK too: &lt;a href="http://www.voidspace.org.uk/python/weblog/index.shtml"&gt;Michael Foord&lt;/a&gt;. Read his succinct &lt;a href="http://www.microsoft.com/uk/msdn/flash/20080416.htm"&gt;500 words on getting started with IronPython here&lt;/a&gt; (scroll down). Like I stated in my Flash intro... "exciting times!"&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=tWV6AsG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=tWV6AsG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=rZiIxqG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=rZiIxqG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=j9E4eNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=j9E4eNg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=H5Hkmog"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=H5Hkmog" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=H6qCGbG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=H6qCGbG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=VCQBGNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=VCQBGNg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/273518794" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-19T13:45:46.329+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fgetting-started-with-ironpython.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/getting-started-with-ironpython.html</feedburner:origLink></item><item><title>Silverlight 2 Essential Getting Started Facts and Guide</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/272017226/silverlight-2-essential-getting-started.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 17 Apr 2008 03:20:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-2190119067541629967</guid><description>&lt;em&gt;As someone pointed out to me, I jumped straight into this "Silverlight thing" without doing a "Hello World post". Part of the reason for that is that this is covered in many online places already, but anyway, here goes my take...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Holding Your Hand for Clicking in the Right Places&lt;/strong&gt;&lt;br /&gt;After you install the bits we &lt;a href="http://www.danielmoth.com/Blog/2008/03/mix08-keynote-announcements.html"&gt;released at MIX&lt;/a&gt; (the only must is the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;displaylang=en"&gt;SL tools for VS2008&lt;/a&gt;), go "File-&gt;New Project" and select the Silvelight tab (&lt;a href="http://www.danielmoth.com/Blog/NewSilverlightProject.png"&gt;screenshot&lt;/a&gt;). You have two options: creating an Application or a Library (a dll you can reference form other SL apps). Select an Application, type your project name (e.g. &lt;em&gt;HelloWorld&lt;/em&gt;) and (tip: I also like checking the "Create directory for solution" checkbox) click OK and you'll be confronted with a new dialog (&lt;a href="http://www.danielmoth.com/Blog/AddSilverlightApplication.png"&gt;screenshot&lt;/a&gt;). Of the 3 options only the 2 top ones are enabled for this scenario and I'll say off the bat that the 2nd option is fairly useless, so let's stick with the first option which is more interesting and powerful. What this option suggests is that it will create 2 projects for you: the Silverlight application project (the results of which run client side in the browser) but also a vanilla web project (that will run server side) to host your Silverlight app. Unlike most people I prefer "Web Application Project" to "Web Site" so change the "Project Type" combobox and click OK. Your solution now has two projects: &lt;em&gt;HelloWorld &lt;/em&gt;and &lt;em&gt;HelloWorld_Web &lt;/em&gt;(&lt;a href="http://www.danielmoth.com/Blog/SL_SolutionExplorer.png"&gt;screenshot&lt;/a&gt;). Build it now (Ctrl+Shift+B) and notice the addition of a &lt;em&gt;ClientBin &lt;/em&gt;folder in your &lt;em&gt;HelloWorld_Web &lt;/em&gt;tree.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Web Project&lt;/strong&gt;&lt;br /&gt;Delete the &lt;em&gt;Default.aspx&lt;/em&gt;, file it is useless. We are left with two files (&lt;a href="http://www.danielmoth.com/Blog/HelloWorldTestPage.aspx.txt"&gt;HelloWorldTestPage.aspx&lt;/a&gt; and &lt;a href="http://www.danielmoth.com/Blog/HelloWorldTestPage.html.txt"&gt;HelloWorldTestPage.html&lt;/a&gt;) of which we will use only one at any given time (switch between them by right clicking and "Set As Start Page"). Both serve the same purpose which is to host the Silverlight plugin in which our SL application will be loaded in (think of them as test harnesses at this stage). Do a "View Code" on each from the right click menu (or click on the two links above) and take your time to look inside. I do not intend to go through the markup (please follow all links in this paragraph for more). Both files accomplish the same thing. One using the &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc189089(VS.95).aspx#silverlight_plug_in_configuring"&gt;object tag with application/x-silverlight&lt;/a&gt; and the other using the &lt;a href="http://quickstarts.asp.net/3-5-extensions/silverlight/SilverlightControl.aspx"&gt;asp:Silverlight tag&lt;/a&gt;, they point the &lt;code&gt;Source&lt;/code&gt; of those to &lt;code&gt;ClientBin/HelloWorld.xap&lt;/code&gt;. That is how the plugin knows where to look for the Silverlight application. So, you can correctly infer from this that your Silverlight project compiles to a XAP file and the build process then copies that to the web project's &lt;em&gt;ClientBin &lt;/em&gt;folder. For now, please hold the question "What is this XAP thing?".&lt;br /&gt;&lt;br /&gt;Before we move on to examine the Silverlight project, right click on the solution node and select "Add-&gt;New Project" and again choose "Silverlight Application" and click OK (&lt;a href="http://www.danielmoth.com/Blog/AddSilverlightAppToExistingSln.png"&gt;screenshot&lt;/a&gt;). Notice how now the 3rd option is enabled? This is how you could add a Silverlight project to existing solution (instead of starting from scratch like we did) - &lt;em&gt;Cancel&lt;/em&gt; the dialog. Another way to add a Silverlight project to an existing Web Project is by right clicking on the &lt;em&gt;HelloWorld_Web &lt;/em&gt;project treeview node and select "Add Silverlight Link" and using that dialog. Now that we are comfortable with the web site aspect of things, let's look at the Silverlight project.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Silverlight Project&lt;/strong&gt;&lt;br /&gt;Expand the References node in the Silverlight project. Most of the names of those assemblies will be familiar to you but bear in mind that these are the Silverlight variants/versions that will generally be a subset of what you are familiar with in the full .NET Framework.&lt;br /&gt;&lt;br /&gt;Right click on the &lt;em&gt;App.xaml&lt;/em&gt; node and select "View Code" which will bring up &lt;a href="http://www.danielmoth.com/Blog/App.xaml.cs.txt"&gt;App.xaml.cs&lt;/a&gt;. Two of the self-explanatory event handlers in there are for you to use as you see fit (&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.application.exit(VS.95).aspx"&gt;Exit&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.application.unhandledexception(VS.95).aspx"&gt;UnhandledException&lt;/a&gt;) and the most important one has been pre-populated for you: &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.application.startup(VS.95).aspx"&gt;Startup&lt;/a&gt; - this is the entry point to the Silverlight app. You could handle here parameters passed from the markup (e.&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.startupeventargs.initparams(VS.95).aspx"&gt;InitParams&lt;/a&gt;). By default it sets the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.application.rootvisual(VS.95).aspx"&gt;Application.RootVisual&lt;/a&gt; to point to the other class in this project: Page (Page.xaml + Page.cs).&lt;br /&gt;&lt;br /&gt;Right click on the &lt;em&gt;Page.xaml&lt;/em&gt; node and select Open or just double click on it (&lt;a href="http://www.danielmoth.com/Blog/PageDotXaml.png"&gt;screenshot&lt;/a&gt;). If you have done any WPF development this will be familiar in the sense that it is all about the &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc189036(vs.95).aspx"&gt;eXtensible Application Markup Language (XAML)&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;Both WPF and Silverlight use the same declarative, tool-friendly XAML-based UI development. The rough idea is that you drag and drop controls on the design surface at the top, set the properties of the controls via the properties window and potentially make some tweaks to the XAML that gets generated in the pane at the bottom. You can then hand this to a designer that will use another tool (currently Expression Blend 2.5) to really jazz it up, add their bling and then hand it back to you whilst the code behind in the Page.xaml.cs that you wrote (that contains the real business logic) remains intact. The reality at this stage of the Beta 1 is that the designer is read-only and the properties window doesn't work and Blend 2.5 also has some more work to be done to it. What this means is that currently in Beta 1, as a developer, you have to manually type all of the XAML for the GUI layout of your Silverlight application.&lt;/blockquote&gt;&lt;br /&gt;Within the existing Grid tag, type:&lt;br /&gt;&lt;code&gt;&amp;lt;TextBlock Text="Hello Silverlight World"/&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Build the solution. Using Windows Explorer navigate to the ClientBin (or just use &lt;a href="http://www.danielmoth.com/Blog/2007/02/open-folder-in-windows-explorer-in.html"&gt;Open Folder in Windows Explorer&lt;/a&gt;) and find the HelloWorld.xap file. Not to repeat myself here, please &lt;a href="http://www.danielmoth.com/Blog/2008/03/decompiling-silverlight-2-apps-enter.html"&gt;visit this post, read the first paragraph and then jump to point 4 and 5&lt;/a&gt; and then come back here, we'll be waiting.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Run (F5)&lt;/strong&gt;&lt;br /&gt;Run the project (obviously the start up project for the solution is the Web project) and notice your browser coming up showing what you would expect. What has happened here is that the html or aspx page instantiated the SL plug-in, which then instantiated the Silverlight CLR, created an AppDomain and then downloaded the XAP file, opened it up and found the entry point at which stage it passes control over to your code.&lt;br /&gt;&lt;br /&gt;When you right click anywhere on the page, you see the Silverlight menu option which just shows the "About" dialog with versioning info. You can tweak the size of the Silverlight plug-in in the host page (html or aspx) so it does not occupy the entire page. This is a way of creating an "island of richness" on an existing web page. I leave that as an exercise for home ;-).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For Further Info&lt;/strong&gt;&lt;br /&gt;- &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc221369(vs.95).aspx"&gt;Truly Excellent Section on MSDN&lt;/a&gt;(read all of it following all the links)&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=JuAX5OG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=JuAX5OG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ZcMJl8G"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ZcMJl8G" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=DY4rGCg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=DY4rGCg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=VTONI0g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=VTONI0g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=dRApMCG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=dRApMCG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=JqT4Cyg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=JqT4Cyg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/272017226" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-17T09:19:33.732+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fsilverlight-2-essential-getting-started.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/silverlight-2-essential-getting-started.html</feedburner:origLink></item><item><title>OpenFileDialog and FileDialogFileInfo in Silverlight 2 Beta 1</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/271309912/openfiledialog-and-filedialogfileinfo.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Wed, 16 Apr 2008 04:38:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-5704984311259302794</guid><description>From a Silverlight 2 app we can prompt the user with a safe OpenFileDialog (OFD) so they can choose a file from their file system that we can then use in our application. It is interesting to contrast it with the existing OFD types that we have in the full framework. We have &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.forms.openfiledialog(VS.90).aspx"&gt;one for Windows Forms&lt;/a&gt; (in &lt;em&gt;System.Windows.Forms &lt;/em&gt;namespace in same named assembly) and &lt;a href="http://msdn2.microsoft.com/en-gb/library/microsoft.win32.openfiledialog.aspx"&gt;one for WPF&lt;/a&gt; (in &lt;em&gt;Microsoft.Win32 &lt;/em&gt;namespace in &lt;strong&gt;PresentationFramework.dll &lt;/strong&gt;assembly):&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/OFD_WPF_WinForms.png" /&gt;&lt;br /&gt;In the diagram above, I have filtered out many methods and properties so if you are interested in those please visit the hyperlinks I embedded above. Also, on a totally separate note, you may be interested in the &lt;a href="http://www.danielmoth.com/Blog/2007/12/filedialog-additions-in-sp1.html"&gt;new features that the WinForms dialog was enhanced with in Fx 2.0 SP1&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Silverlight variant does not have any of the rich features (e.g. setting the title, readonly configuration, advanced extension usage, checking for file/path existence, setting initial directory, validation, showing help etc). It also does not have any parent classes (other than &lt;em&gt;Object&lt;/em&gt;), so all required methods are defined on the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.openfiledialog(VS.95).aspx"&gt;OpenFileDialog class&lt;/a&gt; itself (which resides in the &lt;em&gt;System.Windows.Controls&lt;/em&gt; namespace in the &lt;strong&gt;System.Windows.dll&lt;/strong&gt; assembly). Below is the complete list of its members PLUS a new type (&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.filedialogfileinfo_members(VS.95).aspx"&gt;FileDialogFileInfo&lt;/a&gt;) that is introduced specifically for Silverlight:&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/OFD_FDI_SL_classes.jpg" /&gt;&lt;br /&gt;The &lt;em&gt;Filter &lt;/em&gt;and &lt;em&gt;FilterIndex &lt;/em&gt;properties work just like the desktop counterparts (as do the obvious &lt;em&gt;ctor &lt;/em&gt;and &lt;em&gt;Dispose &lt;/em&gt;method). &lt;em&gt;EnableMultipleSelection &lt;/em&gt;is also obvious, but it is worth noting the departure from the name used in the other two variants: &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.forms.openfiledialog.multiselect.aspx"&gt;Multiselect&lt;/a&gt;. Also obvious is the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.openfiledialog.showdialog(VS.95).aspx"&gt;ShowDialog&lt;/a&gt; method but without following the link can you tell what the return type is? Up to this point you couldn't really tell if the SL dev team borrowed the design from the WPF team or from the WinForms team. Note that the WPF variant of &lt;em&gt;ShowDialog &lt;/em&gt;returns a &lt;em&gt;nullable Boolean &lt;/em&gt;(an interesting choice). The WinForms variant of &lt;em&gt;ShowDialog &lt;/em&gt;returns the same type that the Silverlight variant returns: a &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.dialogresult(VS.95).aspx"&gt;DialogResult enumeration&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;OK, enough of the obvious, let's move on to the not so obvious and see where the new type &lt;em&gt;FileDialogInfo &lt;/em&gt;comes into play. The answer comes when we examine the return type of the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.openfiledialog.selectedfile(VS.95).aspx"&gt;SelectedFile property&lt;/a&gt; and find that it returns a &lt;em&gt;FileDialogFileInfo &lt;/em&gt;object (and correspondingly the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.openfiledialog.selectedfiles(VS.95).aspx"&gt;SelectedFiles&lt;/a&gt; returns a collection of &lt;em&gt;FileDialogFileInfo &lt;/em&gt;objects). So, for security reasons, we are not given a path to the file that the user selected, and instead we are given an object from which we can discover the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.filedialogfileinfo.name(VS.95).aspx"&gt;Name&lt;/a&gt; of the file and can open it as a stream (&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.filedialogfileinfo.openread(VS.95).aspx"&gt;OpenRead&lt;/a&gt; or &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.filedialogfileinfo.opentext(VS.95).aspx"&gt;OpenText&lt;/a&gt;). Sample code:&lt;br /&gt;&lt;pre&gt;var ofd = new OpenFileDialog();&lt;br /&gt;ofd.EnableMultipleSelection = false;&lt;br /&gt;ofd.Filter = "Txt Files|*.txt|Silverlight Video Files|*.wmv";&lt;br /&gt;ofd.FilterIndex = 2;&lt;br /&gt;if (ofd.ShowDialog() != DialogResult.OK)&lt;br /&gt;  return;&lt;br /&gt;&lt;br /&gt;FileDialogFileInfo fdi = ofd.SelectedFile;&lt;br /&gt;lbl.Text = fdi.Name; // lbl is a TextBlock&lt;br /&gt;if (ofd.FilterIndex == 1) //not robust but hey..&lt;br /&gt;{&lt;br /&gt;  StreamReader sr = fdi.OpenText();&lt;br /&gt;  txt.Text = sr.ReadToEnd();  // txt is a TextBox&lt;br /&gt;  sr.Close();&lt;br /&gt;}&lt;br /&gt;else if (ofd.FilterIndex == 2) //not robust but hey..&lt;br /&gt;{&lt;br /&gt;  wmv.SetSource(fdi.OpenRead());  // wmv is a MediaElement&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;See it &lt;a href="http://www.danielmoth.com/SL/OFD/"&gt;running in action here&lt;/a&gt; (plus a bit more). Get the source via the usual &lt;a href="http://www.danielmoth.com/Blog/2008/03/decompiling-silverlight-2-apps-enter.html"&gt;decompiling method&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=aKEnhDG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=aKEnhDG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=jAIotUG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=jAIotUG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=iQ1kSEg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=iQ1kSEg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=O7qiZtg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=O7qiZtg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=p6nSNyG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=p6nSNyG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=vArPTBg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=vArPTBg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/271309912" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-16T10:37:58.072+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fopenfiledialog-and-filedialogfileinfo.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/openfiledialog-and-filedialogfileinfo.html</feedburner:origLink></item><item><title>IsolatedStorage in Siverlight 2 Beta 1</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/270573132/isolatedstorage-in-siverlight-2-beta-1.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Tue, 15 Apr 2008 03:49:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-5202882469130679303</guid><description>Silverlight applications can store data (in files) onto the user's machine via the good old &lt;a href="http://msdn2.microsoft.com/en-gb/library/bdts8hk0.aspx"&gt;Isolated Storage mechanism&lt;/a&gt;. The API and restrictions of Isolated Storage are slightly tweaked in the Silverlight framework. Let's explore that.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Background Research&lt;/strong&gt;&lt;br /&gt;On both the full (aka desktop) framework and the Silverlight framework the implementation resides in &lt;strong&gt;mscorlib.dll &lt;/strong&gt;and specifically the &lt;em&gt;System.IO.IsolatedStorage&lt;/em&gt; namespace. On the desktop framework the classes in there are shown on the following class diagram (with the 2 most interesting classes collapsed for exploration later):&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/IsoStorageOnDesktop.png" /&gt;&lt;br /&gt;Note that in the Silverlight implementation there is &lt;strong&gt;no&lt;/strong&gt; base abstract class &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstorage.aspx"&gt;IsolatedStorage as on the desktop&lt;/a&gt; or &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.inormalizeforisolatedstorage.aspx"&gt;INormalizeForIsolatedStorage&lt;/a&gt; interface or &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragescope.aspx"&gt;IsolatedStorageScope&lt;/a&gt; enumeration. If you explore the desktop capabilities following the links above and relate them to Silverlight's restrictions you'll see why that is – I will not explore that in this post. Also note that the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstorageexception(VS.95).aspx"&gt;IsolatedStorageException&lt;/a&gt; class &lt;strong&gt;is&lt;/strong&gt; available in Silverlight.&lt;br /&gt;&lt;br /&gt;On the flip side, when looking in the namespace in the Silvelright version of mscorlib we additionally find the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragesecurityoptions(VS.95).aspx"&gt;IsolatedStorageSecurityOptions&lt;/a&gt; enumeration that is only used by the other new type in the namespace: the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragesecuritystate(VS.95).aspx"&gt;IsolatedStorageSecurityState&lt;/a&gt; class  which itself is not used or exposed publically by anything AFAICT! So basically, just ignore these two types for now as I can only presume that someone forgot to mark them as internal.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using It&lt;/strong&gt;&lt;br /&gt;So back to looking at useful classes, and we are left with the 2 that exist in both variants (that are collapsed on the diagram further above): &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragefile(VS.95).aspx"&gt;IsolatedStorageFile&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragefilestream(VS.95).aspx"&gt;IsolatedStorageFileStream&lt;/a&gt;. If you follow the links to the Silverlight documentation for those you'll find some differences compared to the desktop version and maybe the eagle-eyed among you can spot them in the following list of methods:&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/IsolatedStorage_SL_classes.jpg" /&gt;&lt;br /&gt;The &lt;em&gt;IsolatedStorageFileStream &lt;/em&gt;class is the same as the desktop version but it omits 5 &lt;a href="http://msdn2.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefilestream.isolatedstoragefilestream.aspx"&gt;overloads of the constructor&lt;/a&gt; (the ones that have a &lt;em&gt;bufferSize&lt;/em&gt; option and the ones that do not have the &lt;em&gt;IsolatedStorageFile&lt;/em&gt; argument). The &lt;em&gt;IsolatedStorageFile&lt;/em&gt; class has 12 static methods removed (the &lt;em&gt;GetXXX &lt;/em&gt;methods except one) and also adds 10 members of its own (I have marked these with an asterisk * in the screenshot above).&lt;br /&gt;&lt;br /&gt;OK, enough of API spelunking; how do you use this thing? That's the easiest part as you just &lt;a href="http://silverlight.net/Quickstarts/IsoStore/StoreData.aspx"&gt;follow the pattern of&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;1. Obtaining an &lt;em&gt;IsolatedStorageFile &lt;/em&gt;(e.g. via the static method &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragefile.getuserstoreforapplication(VS.95).aspx"&gt;GetUserStoreForApplication&lt;/a&gt;)&lt;br /&gt;2. &lt;a href="http://msdn2.microsoft.com/en-gb/library/79zhdw37(VS.95).aspx"&gt;Creating&lt;/a&gt; an &lt;em&gt;IsolatedStorageFileStream &lt;/em&gt;object passing it in the reference from step one&lt;br /&gt;3. Creating a normal &lt;em&gt;System.IO.&lt;/em&gt; &lt;em&gt;StreamWriter &lt;/em&gt;or &lt;em&gt;StreamReader &lt;/em&gt;passing it in the reference from step two&lt;br /&gt;4. Using the &lt;em&gt;Stream &lt;/em&gt;to read or write as per usual.&lt;br /&gt;&lt;br /&gt;I have a &lt;a href="http://www.danielmoth.com/SL/IsoStorage/"&gt;basic SL app that uses iso storage here so have a play&lt;/a&gt; by entering some text/values and close/reopen the browser to see them remembered. To look at the code, &lt;a href="http://www.danielmoth.com/Blog/2008/03/decompiling-silverlight-2-apps-enter.html"&gt;follow the steps here&lt;/a&gt;. To browse on your local machine to the storage, paste this in your windows explorer (and drill in to find a &lt;em&gt;moth&lt;/em&gt; file and a &lt;em&gt;_LocalSettings&lt;/em&gt;):&lt;br /&gt;%userprofile%\AppData\LocalLow\Microsoft\Silverlight\is&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Wait, There Is More&lt;/strong&gt;&lt;br /&gt;What other things must you know? There is a default disc quota that Silverlight apps have and your app can request an increase (&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.isolatedstoragefile.tryincreasequotato(VS.95).aspx"&gt;IncreaseQuotaTo&lt;/a&gt;) from the user, but only from the UI thread. There is a &lt;a href="http://www.wilcob.com/Wilco/View.aspx?NewsID=211"&gt;good explanation of that and more here&lt;/a&gt;. You may also be thinking what type of data you should be storing in iso storage (e.g. things that the browser caches anyway are not good candidates) and Chris &lt;a href="http://silverlightuk.blogspot.com/2008/02/isolated-storage-in-silverlight-2.html"&gt;has some opinions here&lt;/a&gt; (even if some of his facts are outdated).&lt;br /&gt;&lt;br /&gt;In addition to all of the above, Silverlight adds a unique class (no equivalent on the desktop yet) that makes it easy to store application settings in isolated store: System.IO.IsolatedStorage.&lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.applicationsettings(VS.95).aspx"&gt;ApplicationSettings&lt;/a&gt; in &lt;strong&gt;System.Windows.dll&lt;/strong&gt;. There are examples of its usage &lt;a href="http://www.silverlight.net/Quickstarts/Other/StoreData.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc221360(vs.95).aspx"&gt;here&lt;/a&gt; (and I also use it in my basic sample above). If you are the decompiling type, look through reflector at the class's &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.io.isolatedstorage.applicationsettings.save(VS.95).aspx"&gt;Save method&lt;/a&gt; to see how it uses the lower level APIs discussed further above combined with a &lt;em&gt;MemoryStream&lt;/em&gt; ;-)&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=cw2Ih5G"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=cw2Ih5G" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=tBef2OG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=tBef2OG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=B0KvDug"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=B0KvDug" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Xzz1Ung"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Xzz1Ung" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=jWzhfEG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=jWzhfEG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ur7gLzg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ur7gLzg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/270573132" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-15T09:49:02.321+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fisolatedstorage-in-siverlight-2-beta-1.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/isolatedstorage-in-siverlight-2-beta-1.html</feedburner:origLink></item><item><title>Silverlight 2 Beta 1 Assemblies and Namespaces – Part 1</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/269867769/silverlight-2-beta-1-assemblies-and.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Mon, 14 Apr 2008 03:03:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-773050051933191642</guid><description>One of the big things about Silverlight 2 is that it is "just .NET", but in the (cross)browser and cross-platform world. "Just .NET" means that we can use the same programming language (e.g. C# 3.0 or VB9), the same tool (i.e. Visual Studio 2008) and we can expect the same services from a runtime (i.e. the CLR). It also means that the libraries available should have some parity (e.g. compatible subset) with the .NET Framework 3.5 libraries that we are already familiar with. So I thought I'd explore the managed assemblies in Silverlight 2 Beta 1 from a high level.&lt;br /&gt;&lt;br /&gt;First we browse to %ProgramFiles%\Microsoft Silverlight\2.0.30226.2\ and there is the full list of what is part of the runtime package that is installed on users' machines when they install the plugin (note the size of each assembly that gives an indication of the number of members in there):&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/SL2_Beta1_runtime.png" /&gt;&lt;br /&gt;&lt;br /&gt;In addition to those assemblies above, currently there are some additional ones that you can choose to reference and deploy with your Silverlight application (i.e. in the &lt;a href="http://www.danielmoth.com/Blog/2008/03/decompiling-silverlight-2-apps-enter.html"&gt;XAP&lt;/a&gt;). You currently get these when you download the Silverlight SDK:&lt;br /&gt; &lt;img src="http://www.danielmoth.com/Blog/SL2_Beta1_sdk.png" /&gt;&lt;br /&gt;Notable in the list above are the 3 highlighted assemblies that include controls. I would expect that some of the assemblies currently in the SDK folder would become part of the main list further up. Also note the interesting &lt;a href="http://www.danielmoth.com/Blog/2007/05/systemxmllinq.html"&gt;System.Xml.Linq.dll&lt;/a&gt; and all the support for dynamic languages.&lt;br /&gt;&lt;br /&gt;In future posts, I will write a paragraph for each one of the assemblies comparing them to their desktop counterparts as applicable.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Tc4FfbG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Tc4FfbG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=FuF9mtG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=FuF9mtG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=hDqGYrg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=hDqGYrg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=mP5SaHg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=mP5SaHg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=2vireEG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=2vireEG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=OnUrw9g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=OnUrw9g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/269867769" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-14T09:03:45.999+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fsilverlight-2-beta-1-assemblies-and.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/silverlight-2-beta-1-assemblies-and.html</feedburner:origLink></item><item><title>Introducing the ADO.NET Entity Framework</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/269371106/introducing-adonet-entity-framework.html</link><category>Links</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sun, 13 Apr 2008 04:55:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-8964163441654999838</guid><description>Occasionally people will ask me why I don't blog about some of the new data technologies. The answer is simple: my colleague &lt;a href="http://www.miketaulty.com/"&gt;MikeT&lt;/a&gt; (aka internally as Data Boy) owns that space. So who better to ask to write a relevant article for the &lt;a href="http://www.danielmoth.com/Blog/2007/07/msdn-flash-newsletter.html"&gt;MSDN Flash&lt;/a&gt; that went out 10 days ago. Read his great &lt;a href="http://www.microsoft.com/uk/msdn/flash/20080402.htm"&gt;500-word introduction to the Entity Framework here&lt;/a&gt; (scroll down).&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=pYsDmhG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=pYsDmhG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ocLiDrG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ocLiDrG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=mIVTsxg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=mIVTsxg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=tspL8Lg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=tspL8Lg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ueeF4ZG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ueeF4ZG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=7ZDnIVg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=7ZDnIVg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/269371106" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-13T10:55:43.502+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fintroducing-adonet-entity-framework.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/introducing-adonet-entity-framework.html</feedburner:origLink></item><item><title>Tech Ed Israel – Best conference party ever?</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/269371107/tech-ed-israel-best-conference-party.html</link><category>Events</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sun, 13 Apr 2008 04:46:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-8550995315147190660</guid><description>I am back from &lt;a href="http://www.danielmoth.com/Blog/2008/04/spending-my-life-in-airports-and-planes.html"&gt;my travels&lt;/a&gt;, and if you attended my 2 talks at Tech Ed Israel 2008 you'll find resources for them &lt;a href="http://www.danielmoth.com/Blog/2007/06/download-my-vista-demos.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.danielmoth.com/Blog/2007/06/msdn-mag-article-cross-framework-code.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;With that out of the way, let me say that I have never ever been to a conference/geek party that even came close to what we experienced in Eilat! After consuming great food (starting at 20:30-21:00), as the night progressed, it was indistinguishable from a high quality commercial club night &lt;em&gt;or&lt;/em&gt; a rock gig (dependent on which live band was on stage). Everyone was drunk (open bar all night), everyone was dancing and... unlike most geek parties, there were as many women as men in attendance. I stayed until the end and it was still kicking (02:35 in the morning). If you live in Israel then you owe it to yourself to attend &lt;strong&gt;Tech Ed Israel 2010&lt;/strong&gt; and if you are on the international speaker circuit try to get invited. I will let the &lt;a href="http://www.flickr.com/photos/techedisrael/sets/72157604437351508/"&gt;pictures from the party&lt;/a&gt; convince you or maybe the &lt;a href="http://www.microsoft.com/israel/techedevent/video.aspx"&gt;video footage&lt;/a&gt; ;-)&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=TwSs6CG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=TwSs6CG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=iWeQzPG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=iWeQzPG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=hBbiMng"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=hBbiMng" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=bm0mb8g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=bm0mb8g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=SOWajeG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=SOWajeG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=tBtmAOg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=tBtmAOg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/269371107" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-13T10:46:34.438+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Ftech-ed-israel-best-conference-party.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/tech-ed-israel-best-conference-party.html</feedburner:origLink></item><item><title>Spending my life in Airports and Planes</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/262247288/spending-my-life-in-airports-and-planes.html</link><category>Personal</category><author>noreply@blogger.com (The Moth)</author><pubDate>Tue, 01 Apr 2008 17:15:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-2045413084127720298</guid><description>On the day of &lt;a href="http://www.danielmoth.com/Blog/2008_03_01_mothblog_archive.html"&gt;my last 3 posts&lt;/a&gt;, I flew to Seattle (10 hours each way) for a quick 3 night trip. Upon my return to UK, it was only a day of catch up before travelling to my hometown in Thessaloniki (Greece). After a day of rest I took the internal flight to Athens for the &lt;a href="http://www.danielmoth.com/Blog/2008/02/are-you-in-athens-greek-2008-launch.html"&gt;Greek 2008 Launch&lt;/a&gt;. For anyone that attended my session, &lt;a href="http://www.danielmoth.com/Blog/2008/03/five-vs2008-smart-client-features.html"&gt;the videos I mentioned are here&lt;/a&gt;. There was also brief mention of Parallel LINQ on the day, and my &lt;a href="http://www.danielmoth.com/Blog/2007/11/parallel-extensions.html"&gt;related video(s) can be found here&lt;/a&gt;. After flying back to Thessaloniki for a day of rest, I fly tomorrow to the UK and then a day later I fly for a 5-day trip to &lt;a href="http://www.danielmoth.com/Blog/2008/02/are-you-in-israel-tech-ed-israel.html"&gt;Israel for Tech Ed 2008&lt;/a&gt; (which also includes 2 internal flights between Tel Aviv and Eilat)...phew.&lt;br /&gt;&lt;br /&gt;There will be more activity here after that – talk to you then.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=jUn1IJG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=jUn1IJG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=O7mpbsG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=O7mpbsG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=GPT8pNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=GPT8pNg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=eC61bUg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=eC61bUg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=8IewJHG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=8IewJHG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=xLk0fjg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=xLk0fjg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/262247288" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-04-01T23:15:44.341+01:00</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F04%2Fspending-my-life-in-airports-and-planes.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/04/spending-my-life-in-airports-and-planes.html</feedburner:origLink></item><item><title>Positioning the ASP.NET MVC Framework</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/255292628/positioning-aspnet-mvc-framework.html</link><category>Links</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 20 Mar 2008 22:19:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-8571294045098708583</guid><description>In the latest issue of the &lt;a href="http://www.danielmoth.com/Blog/2007/07/msdn-flash-newsletter.html"&gt;MSDN Flash&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog/"&gt;ScottHa&lt;/a&gt; wrote an article that, in my opinion, perfectly positions the ASP.NET MVC Framework. &lt;a href="http://www.microsoft.com/uk/msdn/flash/20080319.htm"&gt;Read the 500 words here&lt;/a&gt; (scroll down).&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=FrkdvsF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=FrkdvsF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=WHIL4FF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=WHIL4FF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=M47iqWf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=M47iqWf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=KET7NTf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=KET7NTf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=MhW0YzF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=MhW0YzF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=gdfa9Nf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=gdfa9Nf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/255292628" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-21T03:19:35.533Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fpositioning-aspnet-mvc-framework.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/positioning-aspnet-mvc-framework.html</feedburner:origLink></item><item><title>UK 2008 Launch resources</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/255292629/uk-2008-launch-resources.html</link><category>Orcas</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 20 Mar 2008 22:13:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-7587761573311011536</guid><description>On Wednesday we had the 1-day free multi-track event in the UK to celebrate the launch of Visual Studio 2008, Windows Server 2008 and SQL Server 2008.&lt;br /&gt;&lt;br /&gt;The Windows and SQL tracks basically took the identical slides/demos from the US launch and found local speakers to deliver them. The benefit of that is that the content is not a million miles from the &lt;a href="http://www.microsoft.com/virtualevents/uk"&gt;UK Virtual Launch site&lt;/a&gt; (which has the US recordings).&lt;br /&gt;&lt;br /&gt;For the Visual Studio track I specified session titles and abstracts for 8 complementary developer sessions and "recruited" top speakers to deliver it. If you were there and need to contact the speakers for resources here are links for finding them: &lt;a href="http://guysmithferrier.com/details.aspx?Entry=212"&gt;Guy Smith-Ferrier&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/David_Gristwood/"&gt;David Gristwood&lt;/a&gt;, &lt;a href="http://appamundi.com/about/"&gt;Andy Wigley&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/mm/"&gt;Michael McClary&lt;/a&gt;, &lt;a href="http://blogs.technet.com/jamesone/archive/2008/03/19/powershell-in-birmingham.aspx"&gt;James O'Neill&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/vbteam/archive/2008/03/13/launch-events-in-portugal-england.aspx"&gt;Amanda Silver&lt;/a&gt;, &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/20/10255.aspx"&gt;Mike Taulty&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/mikeormond/archive/2008/03/20/uk-launch-building-web-applications-with-vs2008-source-code.aspx"&gt;Mike Ormond&lt;/a&gt; and &lt;a href="http://www.danielmoth.com/Blog/2008/03/five-vs2008-smart-client-features.html"&gt;mine&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=v4UByIF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=v4UByIF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=PaMdgaF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=PaMdgaF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=dONrCsf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=dONrCsf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=sceS7nf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=sceS7nf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=r8wq75F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=r8wq75F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=YHRAIpf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=YHRAIpf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/255292629" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-21T03:16:10.323Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fuk-2008-launch-resources.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/uk-2008-launch-resources.html</feedburner:origLink></item><item><title>Five VS2008 Smart Client features</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/255292630/five-vs2008-smart-client-features.html</link><category>Orcas</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 20 Mar 2008 22:10:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-3588708087337609326</guid><description>I have created a Smart Client session that I am repeating at various events and it is basically 5 demos. If you attended that session and heard me refer to my blog for more detailed videos of the 5 things, then please find the list below:&lt;br /&gt;&lt;br /&gt;1.      WPF and WinForms Interop: &lt;a href="http://www.danielmoth.com/Blog/2007/10/wpf-and-windows-forms-integration.html"&gt;blog&lt;/a&gt;, &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=348624"&gt;screencast&lt;/a&gt;.&lt;br /&gt;2.      Managed AddIn Framework: &lt;a href="http://www.danielmoth.com/Blog/2008/02/maf-screencasts.html"&gt;blog, screencast and code&lt;/a&gt;.&lt;br /&gt;3.      Client Application Services: &lt;a href="http://www.danielmoth.com/Blog/2008/02/net-client-application-services.html"&gt;blog, screencast and code&lt;/a&gt;.&lt;br /&gt;4.      ADO.NET Sync Services v1.0: &lt;a href="http://www.danielmoth.com/Blog/2008/02/adonet-sync-services.html"&gt;blog, screencast and code&lt;/a&gt;.&lt;br /&gt;5.      VSTO v3.0: &lt;a href="http://www.danielmoth.com/Blog/2007/10/five-vsto-v30-in-vs2008-videos.html"&gt;blog and screencasts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In addition to those links, when people ask me about other Visual Studio 2008 resources I always point them to the &lt;a href="http://www.danielmoth.com/Blog/2007/11/top-10-things-to-know-about-visual.html"&gt;Top 10&lt;/a&gt; and they are happy so hope you are too :)&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=5urPGQF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=5urPGQF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=EWyW6iF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=EWyW6iF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=K85AQof"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=K85AQof" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=qn4WeDf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=qn4WeDf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=q24w9rF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=q24w9rF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=jptwVBf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=jptwVBf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/255292630" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-21T03:10:26.947Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Ffive-vs2008-smart-client-features.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/five-vs2008-smart-client-features.html</feedburner:origLink></item><item><title>DDS: attend my Parallel Extensions talk</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/252956510/dds-attend-my-parallel-extensions-talk.html</link><category>Events</category><author>noreply@blogger.com (The Moth)</author><pubDate>Mon, 17 Mar 2008 07:02:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-7350537868139809163</guid><description>There is a great &lt;a href="http://developerdayscotland.com/main/Agenda/tabid/68/Default.aspx"&gt;agenda of sessions&lt;/a&gt; for the &lt;a href="http://developerdayscotland.com/main/Home/tabid/36/Default.aspx"&gt;Scottish Developer Day (DDS)&lt;/a&gt; in May and I hope you'll choose to come to my session on Parallel Extensions. &lt;a href="http://developerdayscotland.com/main/DelegateRegistration/tabid/69/Default.aspx"&gt;Register here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=852wp0F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=852wp0F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=0V7WAyF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=0V7WAyF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=TgfboWf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=TgfboWf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=1XGBUof"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=1XGBUof" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=bsOTZqF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=bsOTZqF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=xp5g0uf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=xp5g0uf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/252956510" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-17T12:02:58.566Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fdds-attend-my-parallel-extensions-talk.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/dds-attend-my-parallel-extensions-talk.html</feedburner:origLink></item><item><title>Use of Silverlight at Tech Ed US site</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/252953799/use-of-silverlight-at-tech-ed-us-site.html</link><category>Events</category><author>noreply@blogger.com (The Moth)</author><pubDate>Mon, 17 Mar 2008 06:59:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-1049261579872887447</guid><description>Tech Ed in Orlando is in June and I have a couple of sessions there (more on that nearer to the time). I like how they used Silverlight 2 to list the speakers (although the z-ordering is not as accurate as I was expecting it). &lt;a href="https://www.msteched.com/dev/featuredspeakers/default.aspx"&gt;Give it a go, have a play&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=LQEjSeF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=LQEjSeF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=vae2qqF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=vae2qqF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=sJqh5sf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=sJqh5sf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=8sw2Zmf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=8sw2Zmf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=yFtbxHF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=yFtbxHF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=spNJtcf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=spNJtcf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/252953799" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-17T11:59:18.933Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fuse-of-silverlight-at-tech-ed-us-site.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/use-of-silverlight-at-tech-ed-us-site.html</feedburner:origLink></item><item><title>Decompiling Silverlight 2 Apps – Enter the XAP</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/248456118/decompiling-silverlight-2-apps-enter.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sun, 09 Mar 2008 13:40:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-7048392002716052149</guid><description>When you build a Silverlight 2 application, you compile your source files (inc. XAML and embedded resources) into assemblies (dlls). Those assemblies (plus any 3rd party ones plus MS assemblies that are not part of Silverlight) are then collected together along with a manifest into a packaged archive – or in other words, a ZIP file. Except, the extension is changed to be a .XAP (pronounced "ZAP"). The benefits of packaging everything into a XAP should be obvious but in case they are not, &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/03/05/Xap_2100_-App_2100_-Pow_2100_-Packaging-and-Application-Startup-in-Silverlight-2-Beta-1-_2D00_-Part-1.aspx"&gt;Pete has discussed that on his blog (inc. screenshots)&lt;/a&gt;. Note that if your web server is on IIS (prior to version 7) you need to &lt;a href="http://simplesilverlight.wordpress.com/2008/03/07/register-xap-file-in-iis/"&gt;register that MIME type&lt;/a&gt;. &lt;em&gt;As an aside, my web server happens to be Apache (shocking I know!) and I had to configure nothing – it just worked.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;So, if I had given you a Winforms EXE file you wouldn't ask me for the source code, you would probably just pass it through your favourite decompiler and you've got it all. Same with Silverlight apps: if I point you to my web page that is running a Silverlight app (e.g. &lt;a href="http://www.danielmoth.com/Blog/2008/03/silverlight-browser-integration-aka.html"&gt;the one from this post&lt;/a&gt;) all you have to do is:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. View HTML source&lt;/strong&gt;, e.g. for this: http://www.danielmoth.com/SL/HtmlBridge/index.html&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Locate the tag that points to a XAP file&lt;/strong&gt; and copy the full path, e.g. ClientBin/DemoIntegration.xap&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Use that path to "Save As"&lt;/strong&gt; the xap file locally.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Rename the XAP file to ZIP&lt;/strong&gt; and explode it to get the DLLs inside.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Party away by tossing the DLL(s) to the decompiler&lt;/strong&gt;, e.g. Reflector.&lt;br /&gt;&lt;br /&gt;Obviously authors of serious SL apps may not condone that behaviour, but feel free to do it with all of mine, for example the &lt;a href="http://www.danielmoth.com/Blog/2008/03/multiscaleimage-with-mouse-support-ish.html"&gt;DeepZoom/MultiScaleImage that I have now updated to also use mouse wheel&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=PLXFtrF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=PLXFtrF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Re1gIoF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Re1gIoF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=fqqLZbf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=fqqLZbf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=9AlGZzf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=9AlGZzf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=AanA5HF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=AanA5HF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=k5at4rf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=k5at4rf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/248456118" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-09T18:41:28.506Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fdecompiling-silverlight-2-apps-enter.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/decompiling-silverlight-2-apps-enter.html</feedburner:origLink></item><item><title>Silverlight Browser Integration aka HTML Bridge</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/248015140/silverlight-browser-integration-aka.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Sat, 08 Mar 2008 13:12:00 -0600</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-5381890260867539541</guid><description>Given that Silverlight applications sit in the browser via a plug in, it would be silly if you couldn't interact from managed SL code with other browser elements, such as html elements and script so that you could, for example, reuse existing assets. I have heard the browser-agnostic integration featured described as &lt;strong&gt;HTML Bridge&lt;/strong&gt; and it is implemented in the &lt;code&gt;System.Windows.Browser.dll&lt;/code&gt; assembly in a &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser(VS.95).aspx"&gt;same named namespace&lt;/a&gt;. You can see the types from that namespace on the following image (click on it for the &lt;a href="http://www.danielmoth.com/Blog/HtmBridgeExpanded.png"&gt;expanded version&lt;/a&gt;):&lt;br /&gt;&lt;a href="http://www.danielmoth.com/Blog/HtmBridgeExpanded.png"&gt;&lt;img src="http://www.danielmoth.com/Blog/HtmBridgeCollapsed.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The important inheritance hierarchy to be aware of is that &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmldocument_members(VS.95).aspx"&gt;HtmlDocument&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmlelement_members(VS.95).aspx"&gt;HtmlElement&lt;/a&gt; inherit from &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmlobject_members(VS.95).aspx"&gt;HtmlObject&lt;/a&gt; (that allows handling script events via &lt;em&gt;AttachEvent&lt;/em&gt;) which inherits from &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.scriptobject_members(VS.95).aspx"&gt;ScriptObject&lt;/a&gt; (that allows you to execute scripts via its &lt;em&gt;Invoke&lt;/em&gt; and &lt;em&gt;InvokeSelf&lt;/em&gt; methods). &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmlpage_members(VS.95).aspx"&gt;HtmlPage&lt;/a&gt; is a great entry point because you can navigate across its &lt;em&gt;Window&lt;/em&gt; property to an &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmlwindow_members(VS.95).aspx"&gt;HtmlWindow&lt;/a&gt; (that allows e.g. to &lt;em&gt;Navigate&lt;/em&gt; URLs) and across its &lt;em&gt;Document&lt;/em&gt; property to an &lt;em&gt;HtmlDocument&lt;/em&gt; (that offers e.g. access to &lt;em&gt;Cookies&lt;/em&gt; and &lt;em&gt;QueryString&lt;/em&gt;). Also note the 2 Attribute classes: &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.scriptabletypeattribute_members(VS.95).aspx"&gt;ScriptableType&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.scriptablememberattribute_members(VS.95).aspx"&gt;ScriptableMember&lt;/a&gt;. Those are used for exposing Silverlight managed classes to script in the browser combined with &lt;em&gt;HtmlPage&lt;/em&gt;.&lt;em&gt;RegisterScriptableObject&lt;/em&gt; and &lt;em&gt;RegisterCreateableType&lt;/em&gt; methods. Open the expanded class diagram in a separate window and identify the aforementioned methods. Notice there how &lt;em&gt;HtmlDocument&lt;/em&gt; allows you to create new elements and retrieve existing ones (&lt;em&gt;CreateElement&lt;/em&gt; and &lt;em&gt;GetElementById&lt;/em&gt;). Once you have references to those &lt;em&gt;HtmlElements&lt;/em&gt; you can do things like &lt;em&gt;SetAttribute&lt;/em&gt;, &lt;em&gt;SetStyleAttribute&lt;/em&gt; and &lt;em&gt;AppendChild&lt;/em&gt; to name a few. Script events are handled in your managed &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.scripteventhandler(VS.95).aspx"&gt;ScriptEventHandler&lt;/a&gt; method that accepts an &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.htmleventargs_members(VS.95).aspx"&gt;HtmlEventArgs&lt;/a&gt; which you can find on the class diagram along with its relationships (e.g. &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.mousebuttons(VS.95).aspx"&gt;MouseButtons&lt;/a&gt;). You should also checkout the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.browser.httputility_members(VS.95).aspx"&gt;HttpUtility&lt;/a&gt; class and its self-explanatory methods such as &lt;em&gt;UrlEncode&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Phew! Take a moment to study the two class diagrams using the previous paragraph as a guide and also note that all links above are direct links to the API documentation (i.e. this blog post becomes my bookmark into MSDN ;)). You can also follow a quickstart (&lt;a href="http://silverlight.net/Quickstarts/Dom/DomAccess.aspx"&gt;DOM access&lt;/a&gt;), two walkthroughs (calling &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc221414(VS.95).aspx"&gt;managed from script&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc221359(VS.95).aspx"&gt;script from managed&lt;/a&gt;), and for those that want even more, &lt;a href="http://download.microsoft.com/download/9/4/e/94e080c7-d462-4118-b07a-55578d64bc43/Silverlight%202%20Beta%201%20-%20Browser%20Integration.zip"&gt;follow this 2-hour lab (ZIP)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To see some of the browser integration in action, I have here the &lt;a href="http://www.danielmoth.com/SL/HtmlBridge/"&gt;ugliest and most basic SL app that simply proves some of the concepts&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=7aAS44F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=7aAS44F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=o1qn9KF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=o1qn9KF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=zBcUzJf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=zBcUzJf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=7wOAgtf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=7wOAgtf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=G27XqQF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=G27XqQF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=30OjbNf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=30OjbNf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/248015140" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-08T19:12:17.705Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fsilverlight-browser-integration-aka.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/silverlight-browser-integration-aka.html</feedburner:origLink></item><item><title>Class Diagram item template missing from SL projects</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/247522552/class-diagram-item-template-missing.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Fri, 07 Mar 2008 12:13:00 -0600</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-6835637206644444884</guid><description>It is a well known fact that I love the Class Designer that was introduced in VS2005 and I had fed back a lot during its early stages (&lt;a href="http://www.danielmoth.com/Blog/2004/08/class-designer-good.html"&gt;good&lt;/a&gt; and &lt;a href="http://www.danielmoth.com/Blog/2004/08/class-designer-missing.html"&gt;missing&lt;/a&gt;). This is the tool I use to explore any new library/framework that comes out before dropping to the code editor to really play with the API (&lt;em&gt;btw, that answers this FAQ I get when people talk to me about this job&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;So I did the same for Silverlight 2 Beta1 and noticed that the option to add a "Class Diagram" was not there! These are all the item templates a Silverlight project will offer:&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/SL_AddNewItem.png" /&gt;&lt;br /&gt;Some overzealous filtering took place there IMO. I see no reason to omit it since the CD is reflection-based and can hence handle any .NET library. Anywho, all is not lost as you can right click on any code file in Solution Explorer and select "View Class Diagram" from there. Panic (&lt;em&gt;and trivia&lt;/em&gt;) over.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=1el1v3F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=1el1v3F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=ZD7k9zF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=ZD7k9zF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Y6NW5Cf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Y6NW5Cf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=sIwNRKf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=sIwNRKf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=FeLHn1F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=FeLHn1F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=YQBPMEf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=YQBPMEf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/247522552" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-07T18:15:02.151Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fclass-diagram-item-template-missing.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/class-diagram-item-template-missing.html</feedburner:origLink></item><item><title>Session 0 Isolation</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/247341642/session-0-isolation.html</link><category>Vista</category><category>WindowsServer2008</category><author>noreply@blogger.com (The Moth)</author><pubDate>Fri, 07 Mar 2008 05:58:00 -0600</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-5202365347738647521</guid><description>In the latest issue of the &lt;a href="http://www.danielmoth.com/Blog/2007/07/msdn-flash-newsletter.html"&gt;MSDN Flash&lt;/a&gt; we introduced 2 new features: a poll (you'll see the results in the next issue) and the ability to have a non-MS person write the &lt;strong&gt;500 word&lt;/strong&gt; article. &lt;a href="http://weblogs.asp.net/kennykerr/"&gt;Kenny&lt;/a&gt; kindly accepted the challenge and he wrote a great article on a security topic that may affect your code on Windows Vista and Windows Server 2008. &lt;a href="http://www.microsoft.com/uk/msdn/flash/20080305.htm"&gt;Read it here (scroll down)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=UdkZXBF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=UdkZXBF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=zDXDYuF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=zDXDYuF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=rHowT4f"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=rHowT4f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=2pio19f"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=2pio19f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=kviRlOF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=kviRlOF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=gqLOHof"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=gqLOHof" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/247341642" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-07T12:00:38.339Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fsession-0-isolation.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/session-0-isolation.html</feedburner:origLink></item><item><title>MultiScaleImage with mouse support-ish</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/246797793/multiscaleimage-with-mouse-support-ish.html</link><category>Silverlight</category><author>noreply@blogger.com (The Moth)</author><pubDate>Thu, 06 Mar 2008 09:13:00 -0600</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-4680918304253914225</guid><description>One of the demos that captures people's attention with some Silverlight 2 demos is the &lt;a href="http://labs.live.com/Seadragon.aspx"&gt;Seadragon&lt;/a&gt;-based technology that in Silverlight is called "DeepZoom". To see a good example of that in action look at the &lt;a href="http://memorabilia.hardrock.com/"&gt;Hard Rock Memorabilia site&lt;/a&gt; or visit the &lt;a href="http://www.vertigo.com/DeepZoom.aspx"&gt;Vertigo site&lt;/a&gt; (the guys that built the HR experience). The control behind all that is the &lt;a href="http://msdn2.microsoft.com/en-gb/library/cc190891(VS.95).aspx"&gt;MultiScaleImage control&lt;/a&gt;. You need to point the &lt;a href="http://msdn2.microsoft.com/en-gb/library/system.windows.controls.multiscaleimage.source(VS.95).aspx"&gt;Source property&lt;/a&gt; of that to the output you get when you use the &lt;a href="http://blogs.msdn.com/expression/archive/2008/03/05/download-the-preview-of-the-deep-zoom-composer.aspx"&gt;DeepZoomComposer tool&lt;/a&gt;. The tool basically takes an image and chops it up to more download-friendly bits that it distributes to folders.&lt;br /&gt;&lt;br /&gt;My colleague MikeT had a play with it all and has a &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/05/10217.aspx"&gt;quickstart on his blog&lt;/a&gt;. One of the downsides of that approach is that it uses the keyboard for panning around and zooming. I thought I'd take that and try to offer navigation (left/up/right/down) via dragging the mouse and also zooming in by clicking the mouse. To zoom out, I had to keep with using the keyboard (Spacebar was my choice). Assuming that you have the Silverlight 2 runtime installed, the &lt;a href="http://www.danielmoth.com/winBack/"&gt;results are here&lt;/a&gt;. The source is work in progress but should anyone care about it too much I can share.&lt;br /&gt;&lt;br /&gt;It was actually more work than I anticipated. Detecting mouse movement is easy, but making it scroll half-sensibly dependent on how zoomed in or out it is, and also to vary the drag speed dependent on how aggressively the mouse is moved was not as straightforward (to me). My example also doesn't really make as a good sample because I used an image that isn't sufficiently large or deep. To truly experience the beauty of the control, please visit the links at the top.&lt;br /&gt;&lt;br /&gt;If you visit the links at the top you will also find that scrolling is much more natural because in addition to mouse clicking for zooming in, the mouse wheel is also used. Mouse wheel events are not directly supported in managed code and require javascript assistance. There is a sample that shows you how to do that on &lt;a href="http://blogs.msdn.com/mharsh/archive/2008/03/05/slides-and-demos-from-my-mix-08-talk.aspx"&gt;mharsh's blog&lt;/a&gt; (but it doesn't include the panning and zooming on click).&lt;br /&gt;&lt;br /&gt;So if you aggregate all the sources of information I list above, you can come up with the complete sample ;-).&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=3lWBQ0F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=3lWBQ0F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=IvjLADF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=IvjLADF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=RI3BtSf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=RI3BtSf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=Z72nuTf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=Z72nuTf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=kYzkhvF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=kYzkhvF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=WKBSBpf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=WKBSBpf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/246797793" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-06T15:28:26.489Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fmultiscaleimage-with-mouse-support-ish.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/multiscaleimage-with-mouse-support-ish.html</feedburner:origLink></item><item><title>MIX08 Keynote Announcements</title><link>http://feeds.feedburner.com/~r/DanielMoth/~3/246358685/mix08-keynote-announcements.html</link><category>Links</category><author>noreply@blogger.com (The Moth)</author><pubDate>Wed, 05 Mar 2008 15:16:00 -0600</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7744200.post-3767431643010023578</guid><description>If you missed the keynote (live in Vegas or &lt;a href="http://www.visitmix.com/blogs/Joshua/Day-1-Keynote/"&gt;online&lt;/a&gt;), Tim Sneath was updating his blog live for it so you can &lt;a href="http://blogs.msdn.com/tims/archive/2008/03/05/mix08-keynote-live-blog.aspx"&gt;read an outline here&lt;/a&gt;.&lt;br /&gt;&lt;img src="http://www.danielmoth.com/Blog/Silverlight2_Beta1.png" /&gt;&lt;br /&gt;&lt;br /&gt;- You already know about &lt;strong&gt;ASP.NET MVC Preview 2&lt;/strong&gt; form my &lt;a href="http://www.danielmoth.com/Blog/2008/03/aspnet-mvc-preview-2.html"&gt;previous blog post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;- Many &lt;strong&gt;Silverlight 2 Beta 1&lt;/strong&gt; related downloads – &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/03/05/silverlight-2-beta-1-and-expression-blend-2-5-march-preview.aspx"&gt;Guy had all the links here&lt;/a&gt; before anyone else I think. You'll be hearing a lot more from me on that technology on this blog so stay tuned...&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;Internet Explorer 8 Beta 1&lt;/strong&gt; is out with unprecedented standards support. Choose the most appropriate &lt;a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/getitnow.mspx"&gt;download for you&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;- There were many other announcements (such as &lt;strong&gt;Silverlight for&lt;/strong&gt; Windows &lt;strong&gt;Mobile &lt;/strong&gt;and Nokia) but nothing that we can actually get our hands on right now.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the most impressive keynote demos was actually not appreciated as much as I thought it would be (judging from audience reaction... maybe it is the wrong crowd?). Hardware accelerated &lt;strong&gt;performance improvements in WPF&lt;/strong&gt;. The application was doing all kinds of crazy 3D effects and the CPU utilisation in task manager was barely moving! I can't wait to get my hands on that when it is released in the summer. Move the thumb of the &lt;a href="http://www.visitmix.com/blogs/Joshua/Day-1-Keynote/"&gt;video to 02:08:10 to watch it&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;hr/&gt;
&lt;span style="font-style: italic;font-size:85%;"&gt;Comments about this post welcome at &lt;a href="http://www.danielmoth.com/Blog/"&gt;the original blog&lt;/a&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=asILz3F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=asILz3F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=uyvZ9hF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=uyvZ9hF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=GB9cZTf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=GB9cZTf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=e1nk0Yf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=e1nk0Yf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=LOUz0sF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=LOUz0sF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DanielMoth?a=kAhdodf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DanielMoth?i=kAhdodf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DanielMoth/~4/246358685" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2008-03-05T21:23:15.544Z</atom:updated><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=DanielMoth&amp;itemurl=http%3A%2F%2Fwww.danielmoth.com%2FBlog%2F2008%2F03%2Fmix08-keynote-announcements.html</feedburner:awareness><feedburner:origLink>http://www.danielmoth.com/Blog/2008/03/mix08-keynote-announcements.html</feedburner:origLink></item><feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=DanielMoth</feedburner:awareness></channel></rss>
