<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Stephan Dekker</title><link>http://bloggingabout.net/blogs/stephan/default.aspx</link><description>If you are out to describe the truth, leave elegance to the tailor. (Albert Einstein, 1879 - 1955)</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Export all the Excel 2007 modules to file</title><link>http://bloggingabout.net/blogs/stephan/archive/2009/12/30/export-all-the-excel-2007-modules-to-file.aspx</link><pubDate>Wed, 30 Dec 2009 01:54:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482636</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;Create your own VBA module in Excel:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sub exportAllModules()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp; reference to extensibility library&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objMyProj As VBProject&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objVBComp As VBComponent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objMyProj = Application.VBE.ActiveVBProject&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each objVBComp In objMyProj.VBComponents&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If objVBComp.Type = vbext_ct_StdModule Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objVBComp.Export &amp;quot;C:\temp\&amp;quot; &amp;amp; objVBComp.Name &amp;amp; &amp;quot;.bas&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End Sub&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;Add reference to:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Microsoft Visual Basic for Applications Extensibility&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;Give trust to the macros:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;Open Excel 2007. &lt;br /&gt;2.&amp;nbsp;Click the Office Button (top-left most button in the window) &lt;br /&gt;3.&amp;nbsp;Click the Excel Options button. &lt;br /&gt;4.&amp;nbsp;Click Trust Center in the menu on the left. &lt;br /&gt;5.&amp;nbsp;Click Trust Center Settings in the window on the right. &lt;br /&gt;6.&amp;nbsp;In the new window that opens click Macros in the menu on the left. &lt;br /&gt;7.&amp;nbsp;Check the box next to Trust Access to the VBA project object model. &lt;br /&gt;8.&amp;nbsp;Click OK. &lt;br /&gt;9.&amp;nbsp;Click OK. &lt;br /&gt;10.&amp;nbsp;Close all Office applications and try your project again.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy days!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482636" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Excel+automation/default.aspx">Excel automation</category></item><item><title>Running a .NET console app on SUN Solaris</title><link>http://bloggingabout.net/blogs/stephan/archive/2009/12/20/running-a-net-console-app-on-sun-solaris.aspx</link><pubDate>Sun, 20 Dec 2009 03:01:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482606</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><description>&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;For one of my customers I needed to run a financial risk calculation on a Solaris box. The original app is written in C# .NET and targeted for Windows usage. Given my 2 previous posts, it shouldn&amp;rsquo;t come as a surprise that I choose to use Mono to run the app on Solaris. The whitepaper said I could, so sure it will work.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;As said, I created a Ubuntu VM in about an hour(!), configured it in another hour and was ready to do the actual Mono work. Ubuntu has Mono installed by default, so all I had to do is compile the app (and run DotFuscator, just for good practice) , copy it to the linux box via a fileshare on my physical machine and copy it to a folder on the linux box. Happy days, it all works fine.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;With that POC working, I ticked the box for managing risk around running the app with Mono and running Mono on Linux. The latter was actually only ticked half, as it was pre-installed, but being a poor dev and not sticking to proper Agile practices, I ticked the box anyway &lt;/span&gt;&lt;span style="font-family:Wingdings;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;I got the login details of the SUN box, which I didn&amp;rsquo;t have to install and configure luckily. What I read and have heard, Solaris is a whole different installation experience as opposed to Ubuntu. I&amp;rsquo;m not sure if SUN has the ability to download a Solaris box as a VM, but I had the real thing and a powerfull one as well, so why bother with VMs.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Another happy moment, was when I got the choice of logging in with console or through the XWindows. XWindows please, thank you! &lt;/span&gt;&lt;span style="font-family:Wingdings;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;First thing after logging in was to open a console and try &amp;ldquo;mono -?&amp;rdquo; Doohh!!!! No Mono!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Off to the Mono-project website to see what they are saying about this topic: &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;a href="http://www.mono-project.com/Other_Downloads"&gt;&lt;span style="font-size:small;color:#800080;font-family:Calibri;"&gt;http://www.mono-project.com/Other_Downloads&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Basically you need to install a tool to install other packages, so it&amp;rsquo;s sort of the open source &amp;ldquo;Windows installer&amp;rdquo; tool. The installer tool uses the underlying &amp;ldquo;&lt;span style="mso-ansi-language:EN;" lang="EN"&gt;pkg-get&lt;/span&gt;&amp;rdquo; (The &amp;ldquo;Windows installer service&amp;rdquo;) to actually install the packages (MSIs). The difference is that the unix tool uses a list of packages you can install. In our case you can invoke it like: &amp;ldquo;TheInstallTool &amp;ndash;i mono&amp;rdquo; and it will install mono.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;The tool is called &amp;ldquo;pkgutil&amp;rdquo; and can be found on: &lt;/span&gt;&lt;a href="http://www.blastwave.org/"&gt;&lt;span style="font-size:small;color:#800080;font-family:Calibri;"&gt;http://www.blastwave.org/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;. On the first page there is a little bit hidden link, called &amp;ldquo;READ THE HOWTO&amp;rdquo;. CLICK ON THAT!!! This will take you to a page of instructions.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="color:#222222;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Step 1: Be Patched Up To Date&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;I didn&amp;rsquo;t know: A) how to do this, B) wether I was or needed to do it in the first place. So I assumed I was up to date and soldiered on...&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="color:#222222;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Step 2: Install pkgutil&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;That&amp;rsquo;s the tool we need to install. Make sure you&amp;rsquo;ve got the correct version of the script, but in my case I ran the following commands:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;uname &amp;ndash;a&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;cat /etc/release&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;pkgadd -d http://blastwave.network.com/csw/pkgutil_`/sbin/uname -p`.pkg&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;mkdir /etc/opt/csw&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt 36pt;text-indent:-18pt;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;cp -p /opt/csw/etc/pkgutil.conf.CSW /etc/opt/csw/pkgutil.conf&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;You should end up with an exact copy of the log up on the blastwave website. I actually had one error/warning that the /etc/opt/csw already existed, but that did stop me from continuing.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="color:#222222;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Step 3: Fetch the Software catalog&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Makes sense doesn&amp;rsquo;t it? When you have an app that can install from a catalog, to download it?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;/opt/csw/bin/pkgutil --catalog&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="color:#222222;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Step 4: Security First!&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Yeah right, on to step 5...&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="color:#222222;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Step 5: Before you proceed...&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Don&amp;rsquo;t mess with the root account... yadda, yadda, yadda... Ok, I&amp;rsquo;m done.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Well, as it turned out. I wasn&amp;rsquo;t. The very important bit is in the second last paragraph, to set the path: PATH=/opt/csw/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;That took me an hour to figure out where the bloody hell Solaris installs the files. Hiding details is great until stuff goes pear shaped. Also RTFM applied, very true. Let&amp;rsquo;s call it a draw.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;At that stage my &amp;ldquo;mono &amp;ndash;?&amp;rdquo; did return me something! Not sure anymore wether it showed me the Man page or complained about incorrect commands, but the mono command was found and that meant: On to the next stage!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;I copied the DotFuscated, on windows compiled to the &amp;ldquo;All CPU&amp;rdquo; target,executable (the bin/debug/MyRiskConsoleApp.exe&amp;quot;/&amp;nbsp;to&amp;nbsp;a filer in the cloud. Went back to the SUN box, opened Firefox and copied it from the filer to the machine.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;I&amp;rsquo;m sure you can imagine that I was very excited when the command: &amp;ldquo;mono /users/sdekker/Desktop/MyRiskConsoleApp.exe 1000 2&amp;rdquo; didn&amp;rsquo;t came back with errors, but with the calculated results!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I explained the coolness to my wife, but I don&amp;rsquo;t think she really grasped my excitement of it all... &lt;/span&gt;&lt;span style="font-family:Wingdings;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Another job well done, Stef!!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482606" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Mono/default.aspx">Mono</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Solaris/default.aspx">Solaris</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Unix/default.aspx">Unix</category></item><item><title>Mono by default installed in Ubuntu</title><link>http://bloggingabout.net/blogs/stephan/archive/2009/12/11/mono-by-default-installed-in-ubuntu.aspx</link><pubDate>Fri, 11 Dec 2009 11:46:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482576</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=482576</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2009/12/11/mono-by-default-installed-in-ubuntu.aspx#comments</comments><description>&lt;p&gt;I already figured it out from the website, but it&amp;#39;s nice when the website is actaully correct: Ubuntu comes with Mono installed. Some apps, F-Spot for instance, need it, so it&amp;#39;s installed out of the box.&lt;/p&gt;
&lt;p&gt;I just compiled a hello world, console app, copied it to my virtual Linux box (Share on my Win box asVirtual PC doesn&amp;#39;t allow higher resolutions than 800x600 for some reason and that makes the Ok button for the &amp;quot;Sharing permissions&amp;quot; window, drop out of reach) Browsing to my local box btw is a pretty awesomeexperience. Not as awesome as, let say, diving with whales, but still.... You open up the &amp;quot;Windows Network&amp;quot; folder, the machine then goes off and finds you all the domains on the network, which is, in my case, My own AD domain at home, My company AD domain as I&amp;#39;m using my work laptop, Workspace and another insignificant one. Probably my router come to think of it... So you&amp;#39;ll double click on the domain you need and it go out and find all the machines on that domain. If you then double click on the machine it asks you to login, so I punched in the username, domain and password and Bang! I&amp;#39;m in!! &lt;/p&gt;
&lt;p&gt;Sorry, focus....&lt;/p&gt;
&lt;p&gt;So compiled my hello world console app, opened linux pulled it from a share on my windows host OS and copied it into a folder under my user account. Don&amp;#39;t know if that matters, but just to be safe. Double clicked.....&amp;nbsp;&amp;nbsp; Error.... Damn....&amp;nbsp;&amp;nbsp; Double clicked again.....&amp;nbsp; Error again.... Bloody computers, allways so consistent....&lt;/p&gt;
&lt;p&gt;What you need to do is run it with mono. (Mind the lower case btw.) So open a console window and use:&lt;/p&gt;
&lt;p&gt;mono DotNetHelloWorldApp.exe&lt;/p&gt;
&lt;p&gt;And capow!!! a nice hello world message is staring right in the face!&lt;/p&gt;
&lt;p&gt;I haven&amp;#39;t tried any fancy stuff, but I have seen windows and other trivial .NET features being used, so it shouldn&amp;#39;t give me a lot of grief.&lt;/p&gt;
&lt;p&gt;Take care!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482576" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Ubuntu/default.aspx">Ubuntu</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Mono/default.aspx">Mono</category></item><item><title>Linux has come a long way since Uni.</title><link>http://bloggingabout.net/blogs/stephan/archive/2009/12/11/linux-has-come-a-long-way-since-uni.aspx</link><pubDate>Fri, 11 Dec 2009 10:45:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482575</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=482575</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2009/12/11/linux-has-come-a-long-way-since-uni.aspx#comments</comments><description>&lt;p&gt;I last worked with Linux ages ago and now need to run a couple of tests with Mono on a Linux box. I&amp;#39;m not counting a couple of Cygwin incidents during my working days at &amp;ldquo;Vrije Universiteit&amp;rdquo;, as that&amp;#39;s not Linux, that&amp;#39;s actually sort of cheating. :-)&lt;/p&gt;
&lt;p&gt;So, to brush up my skills I took it upon myself to finally try Ubuntu Linux. I downloaded 9.10 and apparently they are now naming the versions. This version is labelled &amp;quot;Karmic Koala&amp;quot; which seems too much of a coincidence (I live Down Under for a couple of years)&lt;/p&gt;
&lt;p&gt;Anyway: Downloaded the ISO, fired up a fresh Virtual PC, mounted the CD and choose Install from the boot menu. Waited for 30 min and Happy Days! The machine comes up with a nice brownish background and starts asking about time zones, keyboard layout, etc. I punch in all the details, give a username and password and all done!&lt;/p&gt;
&lt;p&gt;It works fantastic. I must say that Linux has come a long way as an OS. It&amp;rsquo;s slick, no driver nonsense, all goodness.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m now setting up file sharing, which means installing and running Samba if I remember correctly and that did give me some grief. Apparently if you choose DHCP, that doesn&amp;rsquo;t include the default gateway settings, so you need to set that yourself through the console:&lt;/p&gt;
&lt;p&gt;route add default gw 10.0.0.138&lt;/p&gt;
&lt;p&gt;But if you try that, you&amp;rsquo;ll get an error stating that you do not have the permissions. You need to be Root to do that, which your not. Even though you are in the admin group by default, that is not the same as root. The root password btw is set to a Hash at installation and the idea is that the root account should not be used at all. You could, if you really wanted do that by setting the password to a known one, but as it&amp;rsquo;s against guidelines, let&amp;rsquo;s not. &lt;/p&gt;
&lt;p&gt;Instead, we need to raise our own level of authority to the root level with the following command:&lt;/p&gt;
&lt;p&gt;sudo -i&lt;/p&gt;
&lt;p&gt;Ubuntu does that a lot btw. You&amp;rsquo;ll get a dialog, very familiar from Vista or Win7, asking you to punch in the password to raise the level. In this case, as we are running it in a console, we need to do it with a command.&lt;/p&gt;
&lt;p&gt;Anyway: Now we have internet access, lets run the updates. Holy crap! 158 updates!! That will take me all night!!&lt;/p&gt;
&lt;p&gt;Pfew, this is Linux land and not Bill domain. An update is in average 0.5 MB, so running the updater takes as long as for me to type this blog! J&lt;/p&gt;
&lt;p&gt;Hopefully, I can now set up file sharing and do the POC with Mono. Exciting stuff!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482575" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Ubuntu/default.aspx">Ubuntu</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Mono/default.aspx">Mono</category></item><item><title>Passing Query string parameters to a silverlight app hosted in HTML</title><link>http://bloggingabout.net/blogs/stephan/archive/2008/12/01/passing-query-string-parameters-to-a-silverlight-app-hosted-in-html.aspx</link><pubDate>Mon, 01 Dec 2008 03:07:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:477208</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=477208</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2008/12/01/passing-query-string-parameters-to-a-silverlight-app-hosted-in-html.aspx#comments</comments><description>&lt;p&gt;Even though there&amp;nbsp;are already a couple of blogposts about bookmarking pages from an asp.net environment using the AJAX scriptmanager, there are not a lot of people that have done&amp;nbsp;deep linking with querystrings and&amp;nbsp;silverlight apps&amp;nbsp;hosted in HTML.&lt;/p&gt;
&lt;p&gt;This feature is missing in the current version of silverlight (2.0) and needs to be implemented by hand, if you need to have it. A lot of business App need it, and so does ours.&lt;/p&gt;
&lt;p&gt;The solution is an elegant one as well (If I may&amp;nbsp;say so myself): Create a javascript method that gets called when the silverlight app starts, let the javascript method call a method on our silverlight app that&amp;#39;s exposed to javascript and let that silverlight method parse the querystring into anything we want it to be!&lt;/p&gt;
&lt;p&gt;So here we go:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create an HTML host file to host the silverlight app. Make sure the object has an Id. In our case: &lt;span style="color:#0000ff;"&gt;SilverlightControlApp&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:9pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;div&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;silverlightControlHost&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;object&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;SilverlightControlApp&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;data&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;data:application/x-silverlight-2,&amp;quot;&amp;nbsp; &amp;lt;!-- Notice the ID --&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;application/x-silverlight-2&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;100%&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;source&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;ClientBin/MyYetAgainVeryCoolDemoApp.xap&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;onerror&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;onSilverlightError&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;onload&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;PassTheQueryStringToSilverlight&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Notice the&amp;nbsp;Event --&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;background&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;white&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;minRuntimeVersion&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;2.0.31005.0&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;autoUpgrade&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;a&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;href&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkID=124807&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;text-decoration&lt;/span&gt;: &lt;span style="color:#0000ff;"&gt;none&lt;/span&gt;;&lt;span style="color:#0000ff;"&gt;&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;img&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkId=108181&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;alt&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Get Microsoft Silverlight&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;border-style&lt;/span&gt;: &lt;span style="color:#0000ff;"&gt;none&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;a&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;object&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;iframe&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;#39;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;visibility&lt;/span&gt;:&lt;span style="color:#0000ff;"&gt;hidden&lt;/span&gt;;&lt;span style="color:#ff0000;"&gt;height&lt;/span&gt;:&lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;span style="color:#ff0000;"&gt;width&lt;/span&gt;:&lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;;&lt;span style="color:#ff0000;"&gt;border&lt;/span&gt;:&lt;span style="color:#0000ff;"&gt;0px&amp;#39;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;iframe&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;div&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Create a javascript file to contain the QueryStringRetrieval. I&amp;nbsp;named it &amp;quot;QueryStringHelper.js&amp;quot;.&lt;/li&gt;
&lt;li&gt;paste the following method in there:&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:10pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; PassTheQueryStringToSilverlight(sender, args) {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; silverlightControl = document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;SilverlightControlApp&amp;quot;&lt;/span&gt;);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; silverlightControl.Content.SilverlightApp.SetQueryString(location.search);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (e) {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&lt;span style="color:#a31515;"&gt;&amp;quot;An exception occurred in the script. Error name: &amp;quot;&lt;/span&gt; + e.name &lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; + &lt;span style="color:#a31515;"&gt;&amp;quot;. Error message: &amp;quot;&lt;/span&gt; + e.message); &lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;}&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add the javascript reference in the HTML page:&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:9pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Silverlight.js&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;nbsp;&amp;nbsp; &amp;lt;!--&amp;nbsp;Generated by VS&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;QueryStringHelper.js&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--&amp;nbsp;Add this yourself&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Add an OnLoad event handler to the Silerlight host object to call the&amp;nbsp;javascript method. Notice the event in the HTML code above.&lt;/li&gt;
&lt;li&gt;Open the App.xaml.cs and create a method to receive the queryString. Use the ScriptableMember to expose the member to be called from Silverlight.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:9pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color:#2b91af;"&gt;ScriptableMember&lt;/span&gt;]&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SetQueryString(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; queryString)&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000;"&gt;// Get the panel from the querystring&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; parms = &lt;span style="color:#2b91af;"&gt;QueryStringHelper&lt;/span&gt;.ParseQueryString(queryString);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (parms.ContainsKey(&lt;span style="color:#a31515;"&gt;&amp;quot;panel&amp;quot;&lt;/span&gt;)) SetPanel(parms[&lt;span style="color:#a31515;"&gt;&amp;quot;panel&amp;quot;&lt;/span&gt;]);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SetPanel(&lt;span style="color:#2b91af;"&gt;String&lt;/span&gt; panel)&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000;"&gt;// Navigate to the specified panel&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (_availablePanels.Contains(panel)) page.PanelToShow = panel;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Register the class as scriptable in the HTML pages by calling HtmlPage.RegisterScriptableObject(String, Object); I&amp;#39;ve done it from the constructor in the App class in the App.xaml.cs.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:9pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; App()&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;HtmlPage&lt;/span&gt;.RegisterScriptableObject(&lt;span style="color:#a31515;"&gt;&amp;quot;SilverlightApp&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Startup += Application_Startup;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Exit += Application_Exit;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UnhandledException += Application_UnhandledException;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Implement the querystring parsing. I re-used a piece of code from the almighty internet. Just create a class called QueryStringHelper and copy paste the following section code: &lt;/li&gt;
&lt;/ul&gt;
&lt;div style="FONT-SIZE:9pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text.RegularExpressions;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; MyYetAgainVeryCoolDemoApp.Silverlight&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;{&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;QueryStringHelper&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;String&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;String&lt;/span&gt;&amp;gt; ParseQueryString(&lt;span style="color:#2b91af;"&gt;String&lt;/span&gt; queryString)&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; result = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;String&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;String&lt;/span&gt;&amp;gt;();&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000;"&gt;// Source = http://increment.cx/wordpress/?p=106&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; regexPattern = &lt;span style="color:#a31515;"&gt;@&amp;quot;\?(?&amp;lt;nv&amp;gt;(?&amp;lt;n&amp;gt;[^=]*)=(?&amp;lt;v&amp;gt;[^&amp;amp;]*)[&amp;amp;]?)*&amp;quot;&lt;/span&gt;;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; regex = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;(regexPattern, &lt;span style="color:#2b91af;"&gt;RegexOptions&lt;/span&gt;.ExplicitCapture);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; match = regex.Match(queryString);&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; currentCapture = 0; currentCapture &amp;lt; match.Groups[&lt;span style="color:#a31515;"&gt;&amp;quot;nv&amp;quot;&lt;/span&gt;].Captures.Count; currentCapture++)&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; result.Add(match.Groups[&lt;span style="color:#a31515;"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;].Captures[currentCapture].Value.ToLower(),&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; match.Groups[&lt;span style="color:#a31515;"&gt;&amp;quot;v&amp;quot;&lt;/span&gt;].Captures[currentCapture].Value.ToLower());&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; result;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;}&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;And now, you&amp;#39;r ready to use query strings in your app!&lt;/p&gt;
&lt;p&gt;Cheers mates!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=477208" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Acropolis CTP is out!!!</title><link>http://bloggingabout.net/blogs/stephan/archive/2007/06/22/acropolis-ctp-is-out.aspx</link><pubDate>Fri, 22 Jun 2007 10:56:57 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:266373</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=266373</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2007/06/22/acropolis-ctp-is-out.aspx#comments</comments><description>&lt;p&gt;If you have not heard about this you should realy check it out!!!&lt;/p&gt; &lt;p&gt;It&amp;#39;s the successor to CAB, Smart Client Software Factory and implements a lot of Paterns and practices!&lt;/p&gt; &lt;p&gt;Download it from &lt;a href="http://aspadvice.com/blogs/ssmith/archive/2007/06/14/Acropolis-CTP-Available.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Stephan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=266373" width="1" height="1"&gt;</description></item><item><title>State of the patterns - Model View Presenter</title><link>http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns-model-view-presenter.aspx</link><pubDate>Sun, 10 Jun 2007 07:00:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:240592</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=240592</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns-model-view-presenter.aspx#comments</comments><description>&lt;p&gt;&lt;a class="" title="Back to index" href="http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns.aspx"&gt;Back&amp;nbsp;to index&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a class="" title="www.MartinFowler.com" href="http://bloggingabout.net/controlpanel/blogs/www.MartinFowler.com" target="_blank"&gt;Martin fowler&lt;/a&gt; is one of the&amp;nbsp;inventors of the Model View Presenter pattern&amp;nbsp;which he&amp;nbsp;let retire&amp;nbsp;a couple of years back. I don&amp;#39;t think the rest of the software community will let the pattern retire though!&lt;/p&gt; &lt;p&gt;Mr Fowler suggested to&amp;nbsp;split the pattern up into two very similar flavors of the pattern as you can read &lt;a class="" title="Model View Presenter split up" href="http://www.martinfowler.com/eaaDev/ModelViewPresenter.html" target="_blank"&gt;here&lt;/a&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div&gt;&lt;a class="" title="Supervising controller" href="http://www.martinfowler.com/eaaDev/SupervisingPresenter.html" target="_blank"&gt;Supervising Controller&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div&gt;&lt;a class="" title="Passive View" href="http://www.martinfowler.com/eaaDev/PassiveScreen.html" target="_blank"&gt;Passive view&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So, as it&amp;#39;s phased out and there is enough to find about the pattern already (like &lt;a class="" title="MVP on MSDN" href="http://msdn.microsoft.com/msdnmag/issues/06/08/DesignPatterns/default.aspx" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a class="" title="MVP problems on CodeProject" href="http://www.codeproject.com/useritems/Advanced_MVP.asp" target="_blank"&gt;here&lt;/a&gt;)&amp;nbsp;I will not write about this pattern. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=240592" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Design+patterns/default.aspx">Design patterns</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Unit+testing/default.aspx">Unit testing</category></item><item><title>State of the patterns</title><link>http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns.aspx</link><pubDate>Sun, 10 Jun 2007 06:21:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:240586</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=240586</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns.aspx#comments</comments><description>&lt;p&gt;It seems like every self respecting blogger needs at least one&amp;nbsp;multi-episode blogpost, so this is the start of mine and it&amp;#39;s about good design patters and the latest state of it.&lt;/p&gt; &lt;p&gt;While updating and enriching my knowledge about unit testing and automating the daily builds even further, I ran into some exciting new stuff. This made me think about writing a set of blogs that will discuss the whole unit testing matter from the ground up. &lt;/p&gt; &lt;p&gt;In the&amp;nbsp;basic stuff I will only give a brief explanation with links to more elaborate instructions as I don&amp;#39;t intend to re-write how to install and setup a daily build. I will give some tips and tricks I know of and maybe you guys can extend these?? &lt;/p&gt; &lt;p&gt;After I have covert the basics, I will move into more recent stuff, like the retirement of the MVP pattern, the very new Presenter First methodology &lt;a href="http://blogs.msdn.com/rjacobs/" target="_blank"&gt;Ron Jacobs&lt;/a&gt; will be talking about at the various sessions he is giving all over the world and others...&lt;/p&gt; &lt;p&gt;The scope will be WinForms and ASP.NET applications as these will cover most business scenario&amp;#39;s. Initially it will be focused on .NET 2.0 and leave WPF, WCF, WWF and cardspaces out of the equation, Maybe in part 17 or something this will be addressed :-)&lt;/p&gt; &lt;p&gt;I will write a Conclusion page right from the start of this multi-episode blogpost, but his is bound to change while I write new posts about these matters. I will try very hard to keep that in sync.&lt;/p&gt; &lt;p&gt;Of course I need an indexing&amp;nbsp;scheme, so here it is:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;div&gt;Introduction (This page)&lt;/div&gt; &lt;li&gt; &lt;div&gt;Basics of unit testing&lt;/div&gt; &lt;li&gt; &lt;div&gt;Basics of setting up unit testing in TFS&lt;/div&gt; &lt;li&gt; &lt;div&gt;Basics of Code coverage&lt;/div&gt; &lt;li&gt; &lt;div&gt;Design for unit testing&amp;nbsp;&lt;/div&gt; &lt;li&gt; &lt;div&gt;Design for code coverage&lt;/div&gt; &lt;li&gt; &lt;div&gt;Have&amp;nbsp;I unit tested enough?&lt;/div&gt; &lt;li&gt; &lt;div&gt;Overview of design patterns to assist unit testing&lt;/div&gt; &lt;li&gt; &lt;div&gt;&lt;a class="" title="MVP Pattern" href="http://bloggingabout.net/blogs/stephan/archive/2007/06/10/state-of-the-patterns-model-view-presenter.aspx" target="_blank"&gt;Model View Presenter pattern (MVP)&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div&gt;Supervising Controller pattern&lt;/div&gt; &lt;li&gt; &lt;div&gt;Passive View pattern&lt;/div&gt; &lt;li&gt; &lt;div&gt;Design / development&amp;nbsp;processes that assist unit testing&lt;/div&gt; &lt;li&gt; &lt;div&gt;Test Driven Development (TDD)&lt;/div&gt; &lt;li&gt; &lt;div&gt;Presenter First design process&lt;/div&gt; &lt;li&gt; &lt;div&gt;Hoe this all fits into pragmatic everyday programming&lt;/div&gt; &lt;li&gt; &lt;div&gt;Conclusion(s)&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;But, Lets start at the beginning.....&amp;nbsp; here&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=240586" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Design+patterns/default.aspx">Design patterns</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Unit+testing/default.aspx">Unit testing</category></item><item><title>A page to remember</title><link>http://bloggingabout.net/blogs/stephan/archive/2007/03/10/a-page-to-remember.aspx</link><pubDate>Sat, 10 Mar 2007 05:42:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:134710</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=134710</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2007/03/10/a-page-to-remember.aspx#comments</comments><description>&lt;P&gt;A couple of&amp;nbsp;nifty tips-and-tricks for VS2005.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb245788(vs.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb245788(vs.80).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Some&amp;nbsp;of them I&amp;nbsp;use allready, some of them&amp;nbsp;I knew could be done. Now I know how when&amp;nbsp;I need them or have some time to spare and want to invest it in speeding up my VS2005 usability.&lt;/P&gt;
&lt;P&gt;Cheers!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=134710" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/VS2005/default.aspx">VS2005</category></item><item><title>Windows mobile 6 SDK is out!!</title><link>http://bloggingabout.net/blogs/stephan/archive/2007/03/01/windows-mobile-6-sdk-is-out.aspx</link><pubDate>Thu, 01 Mar 2007 10:38:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:126907</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=126907</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2007/03/01/windows-mobile-6-sdk-is-out.aspx#comments</comments><description>&lt;P&gt;Download it here: &lt;A href="http://msdn2.microsoft.com/en-us/windowsmobile/default.aspx"&gt;http://msdn2.microsoft.com/en-us/windowsmobile/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Factsheet: &lt;A href="http://www.microsoft.com/presspass/press/2007/feb07/02-11WM6SoftwareFS.doc"&gt;http://www.microsoft.com/presspass/press/2007/feb07/02-11WM6SoftwareFS.doc&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cheers! Stephan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=126907" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category></item><item><title>Connecting to SQL Server CE</title><link>http://bloggingabout.net/blogs/stephan/archive/2006/11/19/Connecting-to-SQL-Server-CE.aspx</link><pubDate>Sun, 19 Nov 2006 11:58:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:51482</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=51482</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2006/11/19/Connecting-to-SQL-Server-CE.aspx#comments</comments><description>&lt;P&gt;SQL Server CE (previously called SQL Mobile and SQL Everywhere) is a very lightweight SQL server that can run everywhere hance the name "SQL Everywhere". It is targeted to replace the&amp;nbsp;XML data files&amp;nbsp;in a lot of smart client apps.&lt;/P&gt;
&lt;P&gt;It's realy, realy, realy great, but the problem is that a lot of tools do not (yet) support the data provider, witch makes it harder to use it. Like active reports. Somehow the provider does not get registered in the GAC as supposed to the documentation states (RC1 documentation). So, it seems&amp;nbsp;I now have to find out where the providers get registered to sort out the problem.&lt;/P&gt;
&lt;P&gt;The problem is that the provider resides in the System.Data.SQLClientCE namspace in stead of the System.Data.SQLClient namespace and that namespace is not commonly supported yet by the tools. The namespace is quit old actually, but up until recently it was not interesting to implement (other than om mobile app tooling)&lt;/P&gt;
&lt;P&gt;I am contacting DataDynamics about it. Maybe i am not the first and the questing did not make the FAQ or KB yet. (You never know right?) &lt;/P&gt;
&lt;P&gt;Maybe i can find another way to connect the ActiveReport to the dataset from the SQL Server CE. There is an option to use unbound fields and at runtime assign values to it. But they are all called Field1, Field2, Field3, etc. I simply refuse to use it. I just won't!&lt;/P&gt;
&lt;P&gt;Another option&amp;nbsp;I will look into, is to look for an XSD Dataprovider or somethomg. A dataprovider witch can read the XML schema into a dataset and implements the DataProvider interface so i can consume it from third-party tools.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=51482" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/SQL/default.aspx">SQL</category><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Mobile/default.aspx">Mobile</category></item><item><title>Bill gates house</title><link>http://bloggingabout.net/blogs/stephan/archive/2006/11/17/Bill-gates-house.aspx</link><pubDate>Fri, 17 Nov 2006 00:31:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:49818</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=49818</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2006/11/17/Bill-gates-house.aspx#comments</comments><description>&lt;P&gt;Some collaegues are going to edmond in januari and one of them proposed to stay at Bill's place. That brought us to the topic of his house and a big discussion followed. So we looked some specs of his house up with google. &lt;A href="http://www.usnews.com/usnews/tech/billgate/gates.htm"&gt;Here&lt;/A&gt; you can find a overview of his little mansion :-)&lt;/P&gt;
&lt;P&gt;Realy cool house and a great website to check it out...&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=49818" width="1" height="1"&gt;</description></item><item><title>Electrion programs  on podcast</title><link>http://bloggingabout.net/blogs/stephan/archive/2006/11/17/Electrion-programs--on-podcast.aspx</link><pubDate>Thu, 16 Nov 2006 21:33:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:49698</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=49698</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2006/11/17/Electrion-programs--on-podcast.aspx#comments</comments><description>&lt;P&gt;For the podcast listeners out there in the Netherlans who have not yet made up there minds about the elections, would like to read the election programs of the political parties and who do not have the time (Is there anyone left due to these exclusions?):&lt;/P&gt;
&lt;P&gt;The podcast version of the election programs can be downloaded &lt;A href="http://www.123luisterboek.nl/verkiezingen"&gt;here&lt;/A&gt;. There are also a couple of summary versions of the biggest parties.&lt;/P&gt;
&lt;P&gt;Good luck making up yuo're mind and &lt;STRIKE&gt;at&lt;/STRIKE&gt; least go and vote! Be glad you have the right to, so use it!&lt;/P&gt;
&lt;P&gt;(Sorry, no spell checking, because im using the website to quickly blog about this)&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=49698" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Podcast/default.aspx">Podcast</category></item><item><title>40 seconds of fame</title><link>http://bloggingabout.net/blogs/stephan/archive/2006/11/15/40-seconds-of-fame.aspx</link><pubDate>Wed, 15 Nov 2006 03:45:20 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:48247</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=48247</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2006/11/15/40-seconds-of-fame.aspx#comments</comments><description>&lt;p&gt;Patrick had more time, but&amp;nbsp;I actually spoke myself at &lt;a href="http://dotnetrocks.com/"&gt;DotNetRocks&lt;/a&gt;. Listen to my stumbling (starts at 1:02:00) as Richard surprised me by handing me the microphone all of a sudden. &lt;/p&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=48247" width="1" height="1"&gt;</description></item><item><title>John Lam (Ruby CLR guy) hired by Microsoft</title><link>http://bloggingabout.net/blogs/stephan/archive/2006/11/13/John-Lam-_2800_Ruby-CLR-guy_2900_-hired-by-Microsoft.aspx</link><pubDate>Mon, 13 Nov 2006 13:03:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:46885</guid><dc:creator>Stephan Dekker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/stephan/rsscomments.aspx?PostID=46885</wfw:commentRss><comments>http://bloggingabout.net/blogs/stephan/archive/2006/11/13/John-Lam-_2800_Ruby-CLR-guy_2900_-hired-by-Microsoft.aspx#comments</comments><description>&lt;P&gt;It is kind of old news, but did not hear it, so maybe you guys havn't heard it either:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.iunknown.com/articles/2006/10/20/dynamic-languages-microsoft-and-me"&gt;http://www.iunknown.com/articles/2006/10/20/dynamic-languages-microsoft-and-me&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;(Great domainname b.t.w.)&lt;/P&gt;
&lt;P&gt;I think he was on DotNetRocks some time ago, but I'm not going to check witch/wich/who episode. You go look for it if you want to hear more about the RubyCLR for .NET &lt;A&gt;here&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=46885" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/stephan/archive/tags/Ruby/default.aspx">Ruby</category></item></channel></rss>