<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Russ Rambles</title>
  <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/" />
  <link rel="self" href="http://stormsoftware.net/blogs/russ/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-04-17T10:47:23.3902656+01:00</updated>
  <author>
    <name>Russ Lewis</name>
  </author>
  <subtitle>Russ Lewis's little corner of the digiverse</subtitle>
  <id>http://stormsoftware.net/blogs/russ/</id>
  <generator uri="http://www.dasblog.net" version="1.8.5223.0">DasBlog</generator>
  <entry>
    <title>Vintage guitars like Gibson, Gretsch, Martin, Fender amps</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,abdda067-db47-4148-bbdd-772e01e703c7.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,abdda067-db47-4148-bbdd-772e01e703c7.aspx</id>
    <published>2008-01-01T22:38:14+00:00</published>
    <updated>2008-04-17T10:47:23.3902656+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div dir="ltr" align="left">
          <span class="088393422-01012008">
            <font face="Arial" color="#0000ff" size="2">If
      you know me, you'll know I like jazz and guitars. Well lately, my hobby became just
      a little more serious.</font>
          </span>
        </div>
        <div dir="ltr" align="left">
          <span class="088393422-01012008">
            <font face="Arial" color="#0000ff" size="2">
              <span class="088393422-01012008">
                <font face="Arial" color="#0000ff" size="2">Do
      take a look at the web site, and spread the word to anyone who you think may be interested: <a href="http://www.justgreatguitars.com">Vintage
      Gibson, Gretsch, Guild, Martin at JustGreatGuitars.com</a>.</font>
              </span>
            </font>
          </span>
        </div>
        <div dir="ltr" align="left">
          <span class="670572017-26122007">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=abdda067-db47-4148-bbdd-772e01e703c7" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Unlock your Orange Smartphone</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,ddcdf275-4ee9-436e-b3dd-22bc9af45227.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,ddcdf275-4ee9-436e-b3dd-22bc9af45227.aspx</id>
    <published>2007-06-12T13:48:17+01:00</published>
    <updated>2007-06-12T13:55:01.0089152+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;You&amp;nbsp;will need to unlock your
   Orange Smartphone if you want to install an unsigned application. OK, so there are
   questions one should ask about installing an unsigned program, but assuming you still
   do, it may not be quite as straight-forward as it should be. &lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Here are the things which DON'T work:&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Filling-in the form at &lt;/font&gt;&lt;/span&gt;&lt;span class=305050412-12062007&gt;&lt;font face=Arial size=2&gt;&lt;a href="http://developer.orangews.com/orgspv/SPVdev.aspx?L=T"&gt;&lt;font color=#000000&gt;http://developer.orangews.com/orgspv/SPVdev.aspx?L=T&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;(This
   is worth a try, but failed for me - it said it didnt recognise the IMEI number)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Emailing &lt;a href="mailto:SPVDev@orangeimagineering.com"&gt;&lt;font color=#000000 size=3&gt;SPVDev@orangeimagineering.com&lt;/font&gt;&lt;/a&gt;&amp;nbsp;(it's
   a bad domain and email is returned)&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Eventually, you may email &lt;a title="blocked::mailto:developers@orange.com&amp;#10;mailto:developers@orange.com" href="mailto:developers@orange.com"&gt;&lt;u title="blocked::mailto:developers@orange.com&amp;#10;mailto:developers@orange.com"&gt;&lt;font title="blocked::mailto:developers@orange.com&amp;#10;mailto:developers@orange.com" size=2&gt;&lt;font color=#000000&gt;developers@orange.com&lt;/font&gt;
   &lt;/u&gt;
   &lt;/font&gt;&gt;&lt;font size=2&gt; and if you have the word "unlock" somewhere in your email, you
   will likely get an automated response that includes the magic line:&lt;/font&gt;&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Please point your phone web browser
   (or pc) to the following URL: &lt;a title="blocked::blocked::http://spvunlock.rd.francetelecom.com/&amp;#10;http://spvunlock.rd.francetelecom.com/" href="blocked::http://spvunlock.rd.francetelecom.com/"&gt;&lt;u title="blocked::blocked::http://spvunlock.rd.francetelecom.com/&amp;#10;http://spvunlock.rd.francetelecom.com/"&gt;&lt;font title="blocked::blocked::http://spvunlock.rd.francetelecom.com/&amp;#10;http://spvunlock.rd.francetelecom.com/" size=2&gt;&lt;font color=#000000&gt;http://spvunlock.rd.francetelecom.com&lt;/font&gt;
   &lt;/u&gt;
   &lt;/font&gt;&gt;&lt;font size=2&gt; and fill in the form.&lt;/font&gt;&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font size=2&gt;Obvious really!&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=305050412-12062007&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div align=left&gt;
   &lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt" align=left&gt;
      &lt;span style="COLOR: #1f497d"&gt;&lt;font size=2&gt;&lt;font face=Tahoma&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" 
/&gt;Russ
      Lewis MCSD&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;span style="COLOR: #1f497d"&gt;&lt;a href="http://www.stormsoftware.net/"&gt;&lt;font face=Tahoma color=#0000ff size=2&gt;www.stormsoftware.net&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;&lt;font face=Tahoma&gt; 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
      &lt;span style="COLOR: #1f497d"&gt;&lt;font size=2&gt;&lt;font face=Tahoma&gt;Microsoft Certified Partner&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=ddcdf275-4ee9-436e-b3dd-22bc9af45227" /&gt;</content>
  </entry>
  <entry>
    <title>Dont buy an Acer laptop - especially an Acer TravelMate</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,0f5e3d46-d5db-4cb3-8606-9684e3475b5f.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,0f5e3d46-d5db-4cb3-8606-9684e3475b5f.aspx</id>
    <published>2007-05-14T21:49:21+01:00</published>
    <updated>2007-05-14T21:49:35.3038064+01:00</updated>
    <content type="html">

&lt;div class=Section1&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;I recently bought
      an Acer TravelMate 4230, equipped with Acer&amp;#8217;s Windows Vista Business. I put
      Office 2007 on it (plus my usual development tools) and it ran unbelievably slowly.
      Even with 2 Gb RAM it was awful. I use Outlook all the time and just hated being at
      work because of it&amp;#8217;s speed and non-responsiveness. I have hardly been able to
      do any development work and even writing a letter has become a chore (it was made
      slightly better by adding Word 2003). I&amp;#8217;ve lived with it for a couple of months
      simply because I didn&amp;#8217;t have the time to rebuild it.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Last week I took
      the plunge and installed a 'proper copy' (not an Acer OEM version) of 
      &lt;st1:place w:st="on"&gt;Vista&lt;/st1:place&gt;
      . Everything went well and the basic system was noticeably faster. 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;I then installed
      good old Office 2003, SQL 2005, VS etc. and it was still fine and still fast. Which
      is when I noticed that it had only recognized one of the two DRAMM chips and was in
      fact faster on only 1 Gb RAM than it had been on 2 Gb! But, I couldn't find the missing
      PCI MEM (PCI FLASH) drivers for the extra DRAMM slot and Acer didn&amp;#8217;t have them
      either. 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;About this time I
      also realized that 
      &lt;st1:place w:st="on"&gt;Vista&lt;/st1:place&gt;
      wouldn't activate, and a call to Microsoft confirmed that I had installed the wrong
      version for the partner product keys we have. I decided to go back to the Acer recovery
      image to see if that had the drivers. But, the recovery disk I&amp;#8217;d been prompted
      to make wasn't a real recovery disk; it doesn't boot - apparently Acer uses a hidden
      partition with the recovery tools on it. So I spent a couple of hours learning how
      to read DOS partitions with a live Unix OS, got the utilities I needed, created a
      boot disk and discovered that it still wouldn't restore because the version of Windows
      had changed and there was no backup or CD of the Acer version of windows. That&amp;#8217;s
      right, Acer do not ship any OEM CDs with their notebooks.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;At that point I had
      a super fast system, which used only half the installed RAM and had only about 24
      days remaining before activation shut it down!&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Acer tech support
      in the 
      &lt;st1:country-region w:st="on"&gt;
         &lt;st1:place w:st="on"&gt;US&lt;/st1:place&gt;
      &lt;/st1:country-region&gt;
      said the required PCI MEM (or PCI FLASH) drivers were on their website but it was
      down at the moment. When the site came back, the drivers weren't there, and when I
      called back (and spoke to someone else) they said the drivers didn't exist. 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Acer in the 
      &lt;st1:country-region w:st="on"&gt;UK&lt;/st1:country-region&gt;
      said there could be a hardware fault but they couldn&amp;#8217;t fix it because it was
      a 
      &lt;st1:place w:st="on"&gt;
         &lt;st1:country-region w:st="on"&gt;US&lt;/st1:country-region&gt;
      &lt;/st1:place&gt;
      machine. They would though, sell me the recovery CDs which included Windows Vista
      and the missing drivers for 50 quid. (It was just $40 from the 
      &lt;st1:place w:st="on"&gt;
         &lt;st1:country-region w:st="on"&gt;US&lt;/st1:country-region&gt;
      &lt;/st1:place&gt;
      !)&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Since we get some
      technical support incidents from Microsoft as part of the Partner program, I decided
      to use one - value GBP 200. We get five of these each year, and the last one we used
      was back in the year 2000, so I didn&amp;#8217;t feel too bad about using one. It took
      nearly two hours for the technician to call back, but when he did he could not have
      been more helpful. He carefully listened to the problem and made sure he understood
      it. He used Google to try to search for answers and sent me a link that he wanted
      me to try. When that didn't get the answers we wanted, he initiated a conference call
      with Acer technical support. Surprisingly, Acer resisted the might of the call from
      Microsoft and steadfastly refused to provide the drivers that would make their notebook's
      RAM work with (retail) Windows Vista. However, they did confirm that these PCI MEM
      drivers do exist and that they would not provide them.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Although MS support
      was unable to resolve the issue, I was very impressed with the service and professionalism.
      I liked that he volunteered the information that he hadn't done anything which I hadn't
      already tried, and I especially liked that he said the case would only be closed when
      my notebook showed the full 2 Gb. Today, the matter has been escalated within Microsoft,
      so they can petition Acer for the drivers, but through another channel.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;Meanwhile I managed
      to find the correct license keys for 
      &lt;st1:place w:st="on"&gt;Vista&lt;/st1:place&gt;
      , so I do now have a working PC. Hurray!&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoPlainText&gt;
      &lt;font size=2 face="Courier New"&gt;&lt;span style='font-size:
10.0pt'&gt;The very first notebook
      I ever bought was an Acer and it was great. Wow, have they changed.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=0f5e3d46-d5db-4cb3-8606-9684e3475b5f" /&gt;</content>
  </entry>
  <entry>
    <title>Error installing Visual Studio 2005 SP1 on Windows 2003 Server</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,2a5b1c60-5aeb-42d9-9bff-08fa42d7b507.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,2a5b1c60-5aeb-42d9-9bff-08fa42d7b507.aspx</id>
    <published>2007-05-14T11:19:07+01:00</published>
    <updated>2007-05-14T11:19:38.2042464+01:00</updated>
    <content type="html">

&lt;div class=Section1&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Visual
      Studio 2005 SP1 failed with error &lt;/span&gt;&lt;/font&gt;&lt;strong&gt;&lt;b&gt;&lt;font face="Times New Roman"&gt;&lt;span lang=EN&gt;Installation
      failed - 0x64C&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/strong&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;The error
      is related to an unsigned driver.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I found
      an excellent post which explained the steps to take to enable the correct Software
      Protection Policies at 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;a href="http://blogs.msdn.com/knom/archive/2007/05/02/problems-with-visual-studio-2005-sp1-on-windows-2003-server.aspx"&gt;http://blogs.msdn.com/knom/archive/2007/05/02/problems-with-visual-studio-2005-sp1-on-windows-2003-server.aspx&lt;/a&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;em&gt;&lt;i&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span lang=EN style='font-size:
12.0pt'&gt;1)
      Open local security setting: Start -&amp;gt; Programs -&amp;gt; Administrative Tools -&amp;gt;
      Local Security Policy.&lt;/span&gt;&lt;/font&gt;&lt;/i&gt;&lt;/em&gt;&lt;span lang=EN&gt; 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;em&gt;&lt;i&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span lang=EN style='font-size:
12.0pt'&gt;2)
      Click on &amp;quot;Software Restriction Policies&amp;quot; and if it shows &amp;quot;No Software
      Restriction Policies Defined&amp;quot; then insert a new (right click the left pane node).&lt;/span&gt;&lt;/font&gt;&lt;/i&gt;&lt;/em&gt;&lt;span lang=EN&gt; 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;em&gt;&lt;i&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span lang=EN style='font-size:
12.0pt'&gt;3)
      2 x click on the &amp;quot;Enforcement&amp;quot; entry and under &amp;quot;Apply software restriction
      policies to the following users:&amp;quot; section change to &amp;quot;All users except local
      administrators&amp;quot;.&lt;/span&gt;&lt;/font&gt;&lt;/i&gt;&lt;/em&gt;&lt;span lang=EN&gt; 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;He also
      mentions that he tried placing the original VS2005 disk in the CD tray whilst performing
      the service pack installation (note that getting MS products to work correctly engenders
      all kinds of quasi-supernatural beliefs!) 
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I followed
      the above steps (including the CD in the tray) and the SP installed correctly.&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I also
      found a bizarre KB article which tells you to remove the .NET framework, then install
      the SP, then reinstall the framework &amp;#8211; don&amp;#8217;t bother!&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;&lt;/font&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=2a5b1c60-5aeb-42d9-9bff-08fa42d7b507" /&gt;</content>
  </entry>
  <entry>
    <title>VS2005 &amp; ASP.NET on Vista</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,a4374f92-51d3-428d-b556-3ce60d418784.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,a4374f92-51d3-428d-b556-3ce60d418784.aspx</id>
    <published>2007-02-23T21:02:46+00:00</published>
    <updated>2007-02-23T21:03:18.2770528+00:00</updated>
    <content type="html">

&lt;div class=Section1&gt;
   &lt;p class=MsoNormal&gt;
      OK, so you&amp;#8217;ve worked-out how to run VS2005 as an administrator (create a new
      shortcut to devenv.exe, and check the box in the Compatibility tab).&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      But you can&amp;#8217;t browse the IIS metabase and you still can&amp;#8217;t create or debug
      an IIS application. Worse, you get a spurious error message about missing FrontPage
      server extensions! Well, you&amp;#8217;re right in thinking you don&amp;#8217;t need FP server
      extensions. The thing you really want is called the IIS6 compatibility layer for IIS7.
      It&amp;#8217;s configured via Control Panel | Programs &amp;amp; Features | Turn Windows features
      on or off. Then drill down into IIS as shown here.&lt;o:p&gt;&lt;/o:p&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;img width=429 height=375 id="Picture x0020 1" src="http://stormsoftware.net/blogs/russ/content/binary/image001.png"&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;Whilst there, you should make sure that you have ASP.NET
      enabled&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;&lt;img width=429 height=375 id="Picture x0020 2" src="http://stormsoftware.net/blogs/russ/content/binary/image002.png"&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;And, if you want F5 debugging (which, of course you do,)
      you need Windows security too&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;&lt;img width=429 height=375 id="Picture x0020 5" src="http://stormsoftware.net/blogs/russ/content/binary/image003.png"&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;Now, use IIS manager to configure your Web application.
      It should use the ASP.NET 2 Application pool&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;&lt;img width=328 height=222 id="Picture x0020 14" src="http://stormsoftware.net/blogs/russ/content/binary/image005.png"&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;And you will need to enable Windows authentication for
      your Web:&lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;&lt;img width=634 height=124 id="Picture x0020 11" src="http://stormsoftware.net/blogs/russ/content/binary/image004.png"&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;There&amp;#8217;s an excellent post which explains what&amp;#8217;s
      going-on here: &lt;a href="http://mvolo.com/blogs/serverside/archive/2006/12/28/Fix-problems-with-Visual-Studio-F5-debugging-of-ASP.NET-applications-on-IIS7-Vista.aspx"&gt;http://mvolo.com/blogs/serverside/archive/2006/12/28/Fix-problems-with-Visual-Studio-F5-debugging-of-ASP.NET-applications-on-IIS7-Vista.aspx&lt;/a&gt;
      &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
   &lt;p class=MsoNormal&gt;
      &lt;span style='color:#1F497D'&gt;
      &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
      &lt;/span&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=a4374f92-51d3-428d-b556-3ce60d418784" /&gt;</content>
  </entry>
  <entry>
    <title>Microsoft Empower</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,e18fda43-175e-4296-b31f-162b79abec5c.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,e18fda43-175e-4296-b31f-162b79abec5c.aspx</id>
    <published>2006-11-28T18:01:04+00:00</published>
    <updated>2006-11-28T18:01:37.97808+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <span class="797155917-28112006">
            <font face="Arial" size="2">This looks good...</font>
          </span>
        </div>
        <div>
          <span class="797155917-28112006">
            <font size="2">
              <p>
         Microsoft Empower is a two-year initiative that helps turn your idea for a software
         application into a reality. For just £260 + VAT, the programme gives you a full range
         of development resources, MSDN subscriptions, software licences and technical support
         - all the tools you need without the cost!
      </p>
              <font size="2">
                <p>
                </p>
              </font>
              <a href="http://go.microsoft.com/?linkid=5834397">
                <u>
                  <font color="#0000ff" size="2">http://go.microsoft.com/?linkid=5834397
      </font>
                </u>
              </a>
            </font>
            <font size="2">
            </font>
          </span>
        </div>
        <div> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=e18fda43-175e-4296-b31f-162b79abec5c" />
      </div>
    </content>
  </entry>
  <entry>
    <title>GoogleClient Demo</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,8e3c652c-e174-40ec-872e-77e6da6d884d.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,8e3c652c-e174-40ec-872e-77e6da6d884d.aspx</id>
    <published>2006-09-26T11:24:03+01:00</published>
    <updated>2006-09-26T11:24:20.2518096+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <span class="444130411-19042006">
            <font face="Arial" size="2">Here's an updated
      version of the Google &amp; Amazon Client demo from my course 508.</font>
          </span>
        </div>
        <div>
          <font face="Arial" size="2">
          </font> 
   </div>
        <div>
          <font face="Arial" size="2">
          </font> 
   </div>
        <p>
      Download: <a href="http://stormsoftware.net/blogs/russ/content/binary/GoogleClient.zip">GoogleClient.zip</a><br /></p>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=8e3c652c-e174-40ec-872e-77e6da6d884d" />
      </div>
    </content>
  </entry>
  <entry>
    <title>localhost, (local) and . fail with SQL Server 2005</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,0ce56336-3860-4511-b372-78de78b0ff81.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,0ce56336-3860-4511-b372-78de78b0ff81.aspx</id>
    <published>2006-09-26T11:24:03+01:00</published>
    <updated>2006-09-26T11:24:18.0386272+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">If you've moved
      your databases from SQL 2000 to 2005 and tried to run them using a connection string
      which includes something like: </font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">server=(local);
      or</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">server=localhost;
      or</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">server=.;</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">you will have surely
      noticed that it falls over when your .NET application tries to access the database
      with a "server not found" error.</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">The cause is that
      Microsoft have shipped the developer versions of SQL 2005 with local access
      only. This means that </font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">server=YOUR MACHINE
      NAME; </font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">will work, but that's
      really bad practice, because the application will certainly fail when you copy it
      to the deployment server, having forgotten to amend the machine name.</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">The solution in
      fact is to do this :</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">Start | All Programs
      | MS SQL Server 2005 | Configuration Tools | SQL Surface Area Config. </font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">Follow Surface Area
      Config for Services and Connections, then click Remote Connections in the left hand
      pane.</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">On the right, select
      Local and Remote Connections | using TCP/IP only</font>
          </span>
        </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="520283213-28022006">
            <font face="Arial" size="2">The old, familiar
      monikers will now work once again :-)</font>
          </span>
        </div>
        <div>
          <font face="Arial" size="2">
          </font> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=0ce56336-3860-4511-b372-78de78b0ff81" />
      </div>
    </content>
  </entry>
  <entry>
    <title>HTTP Pipeline in ASP.NET 2.0</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,c94c740d-b68a-45e7-8979-0d3ffffe23e8.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,c94c740d-b68a-45e7-8979-0d3ffffe23e8.aspx</id>
    <published>2006-09-26T11:24:03+01:00</published>
    <updated>2006-09-26T11:24:19.1301968+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial&gt;&lt;font size=2&gt;&lt;span class=498443919-24032006&gt;H&lt;/span&gt;ere is
   a quick reference for the steps in HTTP pipeline in ASP.NET 2.0.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial&gt;&lt;font size=2&gt;Some of the steps are internal (cannot be subscribed
   by HTTP modules or GLOBAL.ASAX):&lt;/font&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;font size=+0&gt; 
&lt;ol&gt;
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Internal step to validate request.&amp;nbsp; Protects against
      malicious attacks exploiting path canonicalization &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Internal step to perform URL mapping (if the URL mapping feature
      is enabled) &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire BeginRequest event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire AuthenticateRequest event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire DefaultAuthentication internal event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostAuthenticateRequest event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire AuthorizeRequest event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostAuthorizeRequest event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire ResolveRequestCache event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostResolveRequestCache event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Internal step to determine the IHttpHandler to process the
      current request (this is when the page compilation takes place) &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostMapRequestHandler event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire AcquireRequestState event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostAcquireRequestState event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PreRequestHandlerExecute event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Internal step to execute the IHttpHandler (call its ProcessRequest
      method) for the current request. The handler is determined at step #11 &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostRequestHandlerExecute event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire ReleaseRequestState event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostReleaseRequestState event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Internal step to perform response filtering (only if HttpResponse.Filter
      is installed) &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire UpdateRequestCache event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire PostUpdateRequestCache event &lt;/font&gt; 
   &lt;li&gt;
      &lt;font face=Arial size=2&gt;Fire EndRequest event.&amp;nbsp; This is the only event that is
      guaranteed to be fired for each request&lt;/font&gt;
   &lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;span class=498443919-24032006&gt;&lt;font face=Arial size=2&gt;I came across this in
   Dmitry Robsman's blog. He has several excellent code projects there, two of which
   I have incorporated into production websites today!&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span class=498443919-24032006&gt;&lt;/span&gt;&lt;span class=498443919-24032006&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;span class=498443919-24032006&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/div&gt;
&lt;ol&gt;
   &lt;li&gt;
&lt;/font&gt;&gt;&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=c94c740d-b68a-45e7-8979-0d3ffffe23e8" /&gt;</content>
  </entry>
  <entry>
    <title>We have evolved -- or were created -- as a small hairless creature in a world of big hairy problems and predators.</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,48dedb6a-4a96-41a4-8dd7-9baedde1ed90.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,48dedb6a-4a96-41a4-8dd7-9baedde1ed90.aspx</id>
    <published>2006-09-26T11:24:03+01:00</published>
    <updated>2006-09-26T11:24:50.7256288+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div dir="ltr" align="left">
          <span class="903401211-21022006">
            <font face="Arial" size="2">I
      loved this quote from one of the keynote's in Waterfall 2006 - a conference dedicated
      to re-welcoming the waterfall method of software development. </font>
          </span>
        </div>
        <div>
          <span class="903401211-21022006">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="903401211-21022006">
            <font face="Arial" size="2">Read all about it
      at <a href="http://www.waterfall2006.com">www.waterfall2006.com</a> and if you're
      doing nothing else on April 1st, maybe even go along! </font>
          </span>
        </div>
        <div> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=48dedb6a-4a96-41a4-8dd7-9baedde1ed90" />
      </div>
    </content>
  </entry>
  <entry>
    <title>It is not possible to run two versions of ASP.NET in the same process</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,e03a011f-6b9b-4c16-ac36-5b510ea561f1.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,e03a011f-6b9b-4c16-ac36-5b510ea561f1.aspx</id>
    <published>2005-12-16T11:43:25+00:00</published>
    <updated>2006-02-20T21:54:06.6146112+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Here's a problem
      that many people may encounter as they start deploying ASP.NET version 2 applications
      on servers running which have existing ASP.NET v.1 sites.</font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">The first symptom
      is a Web page or Web service that sometimes works but at other times refuses
      to start debugging or yields a "Server Application Unavailable" error page. This page
      suggests looking in the event log for further information. If you do, you are told
      in the log that "It is not possible to run two versions of ASP.NET in the same process
      ..."</font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Further observation
      may lead you to realize that you have a .NET v.1 and a .NET v.2 website running on
      the same IIS Web Site (usually 'Default Web Site'). What's happening is that
      whichever site is being hit first is imposing it's ASP.NET version on the process
      which IIS creates for 'Default Web Site'. When a subsequent request is then made to
      the other application, it cannot load its version of ASP.NET, a fact which it
      notes in the event log.</font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">So, how do you create
      a separate process for a Web?</font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Open Internet Information
      Services manager, </font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
              <span class="280573910-16122005">
                <font face="Arial" size="2">For
      Windows Server 2003, create a new Application pool, accepting the default settings.</font>
              </span>
            </font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Next, locate your
      Web (under Default Web Site), right-click to select Properties, and</font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Windows Server 2003:
      assign the newly-created pool to the Application Pool property </font>
          </span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">Windows XP and 2000:</font> <font face="Arial" size="2">Change
      the Application Protection property to High (Isolated)</font></span>
        </div>
        <div>
          <span class="280573910-16122005">
            <font face="Arial" size="2">
            </font>
          </span> 
   </div>
        <div>
          <span class="280573910-16122005">
          </span>
          <font face="Arial" size="2">
            <span class="280573910-16122005">Not
      too obvious, but now you know :-) </span>
          </font>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=e03a011f-6b9b-4c16-ac36-5b510ea561f1" />
      </div>
    </content>
  </entry>
  <entry>
    <title>How to install Application Center Test without installing Visual Studio</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,e258893e-1e40-4bad-8f8e-6f6c6a1de98d.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,e258893e-1e40-4bad-8f8e-6f6c6a1de98d.aspx</id>
    <published>2005-12-08T17:04:04+00:00</published>
    <updated>2006-02-20T21:54:07.4057488+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">D:\ENGLISH\VS.NET2003\setup\setup.exe /NO BSLN CHECK</font>
        </div>
        <div>
          <font face="Arial" size="2">
          </font> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=e258893e-1e40-4bad-8f8e-6f6c6a1de98d" />
      </div>
    </content>
  </entry>
  <entry>
    <title>What's new in WSE 3.0 (for VS.NET 2005)</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,be06726d-141d-41e0-b86a-d27d863d1379.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,be06726d-141d-41e0-b86a-d27d863d1379.aspx</id>
    <published>2005-11-29T15:10:13+00:00</published>
    <updated>2005-11-29T15:14:04.6739824+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">
            <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwse/html/newwse3.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwse/html/newwse3.asp</a>
          </font>
        </div>
        <div> 
   </div>
        <div align="left">
          <div align="left">
            <font face="Arial" size="2">
            </font>
          </div>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=be06726d-141d-41e0-b86a-d27d863d1379" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Writing C# .NET stored procedures</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,c29c0f33-6ca4-490c-9434-f9e7acdb27f2.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,c29c0f33-6ca4-490c-9434-f9e7acdb27f2.aspx</id>
    <published>2005-09-08T10:43:09+01:00</published>
    <updated>2005-09-08T10:43:19.334576+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">The 2005 release of SQL Server will allow
   developers to write their stored procedures in a .NET language, does that mean the
   end of T-SQL as we know it? Not at all. T-SQL 2005 is the workhorse for this database,
   it has been developed and modernised (slightly) from T-SQL classic, but it's the language
   database developers will use 95% of the time for writing stored procedures. .NET code
   allows you to bring .NET types directly into the database for manipulation. Because
   those types run in the CLR, so must the code you use. However, this is the "long way
   round", so you can't expect it to perform as well as the classic T-SQL route. You
   would use .NET code in the database when: - returning a .NET class (or type) is more
   useful than returning a SQL type - the processing is not SQL-like The advantage of
   writing CLR code in SQL Server, is the ability to populate a custom business class
   (a .NET type) inside the database, in order to more readily marshal it to the business
   layer. Architecturally, it simply means you have the same types in the data layer
   as in the business layer. <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=c29c0f33-6ca4-490c-9434-f9e7acdb27f2" /></div>
    </content>
  </entry>
  <entry>
    <title>Current status of restoring my blog from Google</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,fee4d444-a4fe-46e5-84a4-af21a8eae249.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,fee4d444-a4fe-46e5-84a4-af21a8eae249.aspx</id>
    <published>2005-08-26T18:22:02+01:00</published>
    <updated>2005-08-26T18:51:10.321848+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <span class="245592017-26082005">
            <font face="Arial">I've got all the pages -
      held open in about two dozen browsers, now I just have to do some copy and pasting
      ...</font>
          </span>
        </div>
        <div> 
   </div>
        <div>done... now, some removing of Google highlighter, and we're good to go :-)
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=fee4d444-a4fe-46e5-84a4-af21a8eae249" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Thank Blog for Google</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,57ec2770-4db5-4b8c-b1b5-7d18f2f540c8.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,57ec2770-4db5-4b8c-b1b5-7d18f2f540c8.aspx</id>
    <published>2005-08-25T14:56:06+01:00</published>
    <updated>2005-08-26T18:22:33.40304+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">
            <span class="221252813-25082005">So, the other day,
      I deleted this blog. I deleted it accidentally, thinking it was the blog engine I
      no longer used. I did it using Shift + Delete, so it wasn't moved into the Recycle
      bin. The blog is completely self-contained within one folder, so there was no database
      content. Neither did I have any form of back-up - whatsoever...typical IT professional
      I hear you say :-)</span>
          </font>
        </div>
        <div>
          <font face="Arial" size="2">
            <span class="221252813-25082005">
            </span>
          </font> 
   </div>
        <div>
          <font face="Arial" size="2">
            <span class="221252813-25082005">Once I'd had enough
      of kicking myself, I thought about how to restore the content of my blog. Since I
      use it as a personal journal, making notes to myself, I was pretty keen to do this.
      I'd noticed that the blog got a lot of hits from Google, so I tried a little Googling....</span>
          </font>
        </div>
        <div>
          <font face="Arial" size="2">
            <span class="221252813-25082005">
            </span>
          </font> 
   </div>
        <div>
          <font face="Arial" size="2">
            <span class="221252813-25082005">Within minutes,
      I had found all the textual content from Google's cached pages - thank-you Google
      :-)</span>
          </font>
        </div>
        <div> 
   </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=57ec2770-4db5-4b8c-b1b5-7d18f2f540c8" />
      </div>
    </content>
  </entry>
  <entry>
    <title>P/Invoke - My version of the GetVersionEx / OSVERSIONINFO marshaling example</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,bffc6ea3-6e01-4e4e-ae2c-cb4e748744a1.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,bffc6ea3-6e01-4e4e-ae2c-cb4e748744a1.aspx</id>
    <published>2005-08-08T18:36:37+01:00</published>
    <updated>2005-08-26T18:48:20.2873504+01:00</updated>
    <content type="html">&lt;div&gt;
   &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span class=622080515-14072005&gt;It's taken me a little
      while to unravel the example in MSDN, but I finally worked out what it was showing!&lt;/span&gt;&lt;/font&gt;
   &lt;/div&gt;
   &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span class=622080515-14072005&gt;Here, in case it will
      help anyone else, is my version of the code, with altered names and some comments,
      that, I hope, will make it easier to understand.&lt;/span&gt;&lt;/font&gt;
   &lt;/div&gt;
   &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
   &lt;/div&gt;
   &lt;div align=left&gt;&lt;font size=2&gt; 
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font size=4&gt;&lt;font color=#0000ff&gt;&lt;span class=622080515-14072005&gt;//You
         need to put this bit in a form and place a button1 on that form!&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font size=4&gt;&lt;font color=#0000ff&gt;&lt;span class=622080515-14072005&gt;&lt;/span&gt;private&lt;/font&gt; &lt;font color=#0000ff&gt;void&lt;/font&gt; button&lt;span class=622080515-14072005&gt;1&lt;/span&gt; Click(&lt;font color=#0000ff&gt;object&lt;/font&gt; sender,
         System.EventArgs e)&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;{&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;OSVersionInfoClass osvi = &lt;/font&gt;&lt;font face=Arial color=#0000ff&gt;new&lt;/font&gt;&lt;font face=Arial&gt; OSVersionInfoClass();&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;osvi.OSVersionInfoSize = Marshal.SizeOf( osvi );&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;LibWrap.GetVersionExClass( osvi );&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text = "Class size: " + osvi.OSVersionInfoSize;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nMajor : " + osvi.MajorVersion;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nMinor : " + osvi.MinorVerision;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nBuild : " + osvi.BuildNumber;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nPlatformID : " + osvi.PlatformID;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nVersion : " + osvi.versionString;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;OSVersionInfoStruct osvi2 = &lt;/font&gt;&lt;font face=Arial color=#0000ff&gt;new&lt;/font&gt;&lt;font face=Arial&gt; OSVersionInfoStruct();&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;osvi2.OSVersionInfoSize = Marshal.SizeOf( osvi2 );&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;LibWrap.GetVersionExStruct( &lt;/font&gt;&lt;font face=Arial color=#0000ff&gt;ref&lt;/font&gt;&lt;font face=Arial&gt; osvi2
         );&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\n\nStruct size: " + osvi2.OSVersionInfoSize; &lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nMajor : " + osvi2.MajorVersion;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nMinor : " + osvi2.MinorVerision;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nBuild : " + osvi2.BuildNumber;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nPlatformID : " + osvi2.PlatformID;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;label1.Text += "\nVersion : " + osvi2.versionString;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;}&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;&lt;/font&gt;&amp;nbsp;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;span class=622080515-14072005&gt;&lt;font face=Arial size=4&gt;//This stuff goes outside the
         form class. Either in a separate .cs file or just outside the form class&lt;/font&gt;&lt;/span&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font color=#008000&gt;&lt;font size=4&gt;//class&lt;span class=622080515-14072005&gt; demo&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;[ StructLayout( LayoutKind.Sequential )]&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; OSVersionInfoClass &lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;{&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; OSVersionInfoSize;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; MajorVersion;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; MinorVerision;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; BuildNumber;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font face=Arial size=4&gt; PlatformID;&lt;/font&gt;&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;[ MarshalAs( UnmanagedType.ByValTStr, SizeConst=128 )]&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial color=#0000ff&gt;public&lt;/font&gt;&lt;font face=Arial&gt; String
         versionString;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;}&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font color=#008000&gt;&lt;font size=4&gt;//struct&lt;span class=622080515-14072005&gt; demo&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;font size=4&gt; 
      &lt;p&gt;
         &lt;font face=Arial&gt;[ StructLayout( LayoutKind.Sequential )] &lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;struct&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; OSVersionInfoStruct&lt;/font&gt;&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;{&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; OSVersionInfoSize;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; MajorVersion;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; MinorVerision;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; BuildNumber;&lt;/font&gt;&gt;
      &lt;p&gt;
      &lt;/font&gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font face=Arial size=4&gt; PlatformID;&lt;/font&gt;&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;[ MarshalAs( UnmanagedType.ByValTStr, SizeConst=128 )]&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial color=#0000ff&gt;public&lt;/font&gt;&lt;font face=Arial&gt; String
         versionString;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;}&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;&lt;font size=+0&gt;&lt;font color=#0000ff&gt;&lt;span class=622080515-14072005&gt;//
         This class just hides the&lt;/span&gt; externs&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;&lt;font size=+0&gt;&lt;font color=#0000ff&gt;&lt;span class=622080515-14072005&gt;//
         note they both map to the same function in the API, but I'm giving them a more useful
         name within .NET&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font size=4&gt;&lt;font face=Arial&gt;&lt;font size=+0&gt;&lt;font color=#0000ff&gt;&lt;span class=622080515-14072005&gt;&lt;/span&gt;public&lt;/font&gt;&lt;/font&gt; &lt;font color=#0000ff&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font face=Arial&gt; LibWrap &lt;/font&gt;&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;{&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial size=4&gt;[ DllImport( "kernel32", EntryPoint="GetVersionEx" )]&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;static&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;extern&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; GetVersionExClass(
         [In, Out] OSVersionInfoClass osvi );&lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;[ DllImport( "kernel32", EntryPoint="GetVersionEx" )] &lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &gt;&lt;font face=Arial&gt;&lt;font color=#0000ff size=4&gt;public&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;static&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;extern&lt;/font&gt;&lt;font size=4&gt; &lt;/font&gt;&lt;font color=#0000ff size=4&gt;bool&lt;/font&gt;&lt;font size=4&gt; GetVersionExStruct( &lt;/font&gt;&lt;font color=#0000ff size=4&gt;ref&lt;/font&gt;&lt;/font&gt;&lt;font size=4&gt;&lt;font face=Arial&gt; OSVersionInfoStruct
         osvi ); &lt;/font&gt;
      &lt;/p&gt;
      &lt;p&gt;
         &lt;font face=Arial&gt;}&lt;/font&gt;
      &lt;/p&gt;
      &gt;&gt;
   &lt;/div&gt;
&lt;/div&gt;
&gt;&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=bffc6ea3-6e01-4e4e-ae2c-cb4e748744a1" /&gt;</content>
  </entry>
  <entry>
    <title>SOAP formatting: RPC/Doc/Enc/Literal</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,962d9cbc-d9c4-47d9-8b06-621ffa13c339.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,962d9cbc-d9c4-47d9-8b06-621ffa13c339.aspx</id>
    <published>2005-08-08T18:36:37+01:00</published>
    <updated>2005-08-26T18:40:57.4105248+01:00</updated>
    <content type="html">&lt;div&gt;
   &lt;div&gt;&lt;span class=751020922-14032005&gt;&lt;font face=Arial color=#000000 size=2&gt;If anyone
      is still having trouble remembering what the different&amp;nbsp;SOAP styles are, here's
      a reminder of Yasser&amp;nbsp;Shohoud's article that reviews the whole topic and also
      tells you why you shouldn't worry&amp;nbsp;- just be happy you're a .NET developer.&lt;/font&gt;&lt;/span&gt;
   &lt;/div&gt;
   &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
   &lt;/div&gt;
   &lt;div&gt;&lt;font face=Arial size=2&gt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=951c650f-f75a-47ef-80f5-0f26866bcdb0&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2flibrary%2fdefault.asp%3furl%3d%2flibrary%2fen-us%2fdnwebsrv%2fhtml%2frpc" literal.asp?&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/rpc
      literal.asp&lt;/a&gt;&lt;/font&gt;
   &lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=962d9cbc-d9c4-47d9-8b06-621ffa13c339" /&gt;</content>
  </entry>
  <entry>
    <title>Do you get errors when generating a dataset from the designer?</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,5cce7b81-1ac8-48c8-b791-fca4d3b4b1b1.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,5cce7b81-1ac8-48c8-b791-fca4d3b4b1b1.aspx</id>
    <published>2005-08-08T18:36:37+01:00</published>
    <updated>2005-08-26T18:47:02.1449872+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">I did. Here's the
         symptom. I was trying to recreate a sample of a typed DataSet for a course I'm writing.
         My original sample, which worked fine, was in a project called Junk. Call me old-fashioned,
         but I wanted to present it with a better name. I chose TypedDataSets since that was
         what we were going to be investigating.</font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">Time after time,
         I found that I got the same error message - that there were problems generating the
         DataSet and I should build the project and fix any errors before trying
         again.</font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">Here are the mental
         pictures I took with me to bed last night...wondering just what I was doing wrong..</font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <img src="http://stormsoftware.net/blogs/russ/content/binary/Outlook.jpg" />
                <font face="Arial" size="2"> <img src="http://stormsoftware.net/blogs/russ/content/binary/Outlook12.jpg" /></font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                  <img src="http://stormsoftware.net/blogs/russ/content/binary/Outlook1.jpg" />
                </font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">This morning, I
         worked out the problem. It's frankly unbelievable, but I can assure you this is the
         case. It was because I was working on a project which was located in a path
         with and ampersand in its name! Yes, that's it. Strangely, none of the several dozen
         solutions I've built in that same path displayed any weird behaviour, although none
         of used typed DataSets of course!</font>
              </span>
            </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">
                </font>
              </span> 
      </div>
            <div>
              <span class="905314507-08082005">
                <font face="Arial" size="2">I wonder if the
         same is true of .NET2 ?</font>
              </span>
            </div>
          </font>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=5cce7b81-1ac8-48c8-b791-fca4d3b4b1b1" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Get hold of great .NET Samples</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,c8a5e858-b24d-4c49-8236-e459374f18cc.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,c8a5e858-b24d-4c49-8236-e459374f18cc.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:34:23.574216+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt; 
   &lt;p&gt;
      This looks like a useful set &lt;span class=searchword&gt;of&lt;/span&gt; links and recommendations:
      (Just noticed &lt;span class=searchword&gt;the&lt;/span&gt; hyperlinks didn't make it via email,
      so will add &lt;span class=searchword&gt;the&lt;/span&gt;m in later - &lt;b style="COLOR: black; BACKGROUND-COLOR: #ffff66"&gt;&lt;span class=searchword&gt;Russ&lt;/span&gt;&lt;/b&gt;)
   &lt;/p&gt;
   &lt;p&gt;
      Adding Oomph With Samples&amp;nbsp;by Mike Taulty 
   &lt;/p&gt;
   &lt;p&gt;
      &lt;span class=searchword&gt;The&lt;/span&gt;re are a whole host &lt;span class=searchword&gt;of&lt;/span&gt; resources
      that can help you learn about developer technologies. You can read books, check out
      magazine articles, attend conferences, watch online sessions, hang around in newsgroups
      and so on, but I think it's rare that any &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt;se
      options give &lt;span class=searchword&gt;the&lt;/span&gt; same amount &lt;span class=searchword&gt;of&lt;/span&gt; pure
      oomph &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510970" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510970&lt;/a&gt;&amp;gt; 
      &lt;HTTP: go.microsoft.com ?linkid="1510970"&gt;as a good sample. With that in mind, I 
thought I'd use this article to list some oomph-packed samples &lt;span class=searchword&gt;of&lt;/span&gt; .NET
         applications that will potentially speed up your own development with (or conversion
         to) .NET. Here's &lt;span class=searchword&gt;the&lt;/span&gt; shortlist &lt;span class=searchword&gt;of&lt;/span&gt; three
         sites that I'd recommend: 
   &lt;/p&gt;
   &lt;p&gt;
      Windows Forms.NET Sample Applications: &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510971" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510971&lt;/a&gt;&amp;gt; 
      &lt;HTTP: go.microsoft.com ?linkid="1510971"&gt;If you're looking at Smart Client 
applications &lt;span class=searchword&gt;the&lt;/span&gt;n
         you need to take a look at samples such as FotoVision 
         &lt;HTTP: go.microsoft.com ?linkid="1510972"&gt;&amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510972" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510972&lt;/a&gt;&amp;gt;
            and IssueVision &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510973" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510973&lt;/a&gt;&amp;gt;&lt;HTTP: go.microsoft.com 
?linkid="1510973"&gt;. &lt;span class=searchword&gt;The&lt;/span&gt; new
               Infragistics Tracker 
               &lt;HTTP: go.microsoft.com ?linkid="1510974"&gt;application &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510974" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510974&lt;/a&gt;&amp;gt;
                  which makes use &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt; patterns
                  &amp;amp; practices &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510975" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510975&lt;/a&gt;&amp;gt; 
                  &lt;HTTP: go.microsoft.com ?linkid="1510975"&gt;code blocks and comes with 
documentation detailing &lt;span class=searchword&gt;the&lt;/span&gt; design
                     and implementation decisions made during implementation is particularly useful. 




   &lt;/p&gt;
   &lt;p&gt;
      &lt;span class=searchword&gt;The&lt;/span&gt; ASP.NET Starter Kits: &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510976" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510976&lt;/a&gt;&amp;gt; 
      &lt;HTTP: go.microsoft.com ?linkid="1510976"&gt;If you're building a web-site with 
ASP.NET &lt;span class=searchword&gt;the&lt;/span&gt;n
         you need to take a look at &lt;span class=searchword&gt;the&lt;/span&gt;se six applications that
         provide a fantastic starting point to get you going. Download &lt;span class=searchword&gt;the&lt;/span&gt;m,
         install &lt;span class=searchword&gt;the&lt;/span&gt;m, play with &lt;span class=searchword&gt;the&lt;/span&gt;m
         and &lt;span class=searchword&gt;the&lt;/span&gt;n discuss &lt;span class=searchword&gt;the&lt;/span&gt;m
         in &lt;span class=searchword&gt;the&lt;/span&gt; ASP.NET Forums &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510977" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510977&lt;/a&gt;&amp;gt;&lt;HTTP: go.microsoft.com 
?linkid="1510977"&gt;. 

   &lt;/p&gt;
   &lt;p&gt;
      Learn247.NET &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510978" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510978&lt;/a&gt;
   &lt;/font&gt;&lt;font size=2&gt;&amp;gt; - &lt;span class=searchword&gt;The&lt;/span&gt; WeRock 247 &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510979" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510979&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;&amp;gt;
   &amp;amp; Football 247 &amp;lt;&lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=fd5ec303-de90-40bf-bf0d-52bd60819c03&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d1510980" 
?&gt;http://go.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/?linkid=1510980&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;&amp;gt;
   Samples:&lt;span class=searchword&gt;The&lt;/span&gt;se go way beyond just being 'samples'. Both
   applications come with training materials that lead you through building &lt;span class=searchword&gt;the&lt;/span&gt; applications
   from scratch. Introductions are given to &lt;span class=searchword&gt;the&lt;/span&gt; technologies
   involved which span Smart Client, Web Client, Mobile Client and Web Services and &lt;span class=searchword&gt;the&lt;/span&gt; materials
   are available online or for order on DVD. &gt;
   &lt;p&gt;
      From 
   &lt;/p&gt;
   &lt;p&gt;
      ***************************************** MSDN Flash *****************************************
      22 November 2004
   &lt;/p&gt;
   &lt;/font&gt;&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=c8a5e858-b24d-4c49-8236-e459374f18cc" /&gt;</content>
  </entry>
  <entry>
    <title>MSDN Nuggets</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,a99ade87-d8b3-4fa2-a984-3362febd8e19.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,a99ade87-d8b3-4fa2-a984-3362febd8e19.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:34:23.9147056+01:00</updated>
    <content type="html">
&lt;div&gt;
   &lt;div&gt;&lt;span class=826441923-23022005&gt;&lt;font face=Arial size=2&gt;This promises to be a
      great mini series - 10 minute nuggets &lt;span class=searchword&gt;of&lt;/span&gt; technical knowledge.
      Great idea, great presentations&lt;/font&gt;&lt;/span&gt;
   &lt;/div&gt;
   &lt;div&gt;&lt;span class=826441923-23022005&gt;&lt;font face=Arial size=2&gt;Go along to &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=7c8ba2d1-2f42-4a49-b4e2-91353d67c510&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fuk%2fmsdn%2fevents%2fnuggets.aspx" 
?&gt;http://www.micros&lt;span class=searchword&gt;of&lt;/span&gt;t.com/uk/msdn/events/nuggets.aspx&lt;/a&gt;&amp;nbsp;and
      see what &lt;span class=searchword&gt;the&lt;/span&gt;re is to tempt you&lt;/font&gt;&lt;/span&gt;
   &lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=a99ade87-d8b3-4fa2-a984-3362febd8e19" /&gt;</content>
  </entry>
  <entry>
    <title>Show(owner) is so neat</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,f6023fba-c0fb-475b-9bee-0a29df26d7e0.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,f6023fba-c0fb-475b-9bee-0a29df26d7e0.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:34:24.1650656+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">I was building a
         simple menu system from LinkLabels and wanted this behaviour: when <span class="searchword">the</span> user
         chose a link, to minimise <span class="searchword">the</span> menu form, show <span class="searchword">the</span> chosen
         form, <span class="searchword">the</span>n restore <span class="searchword">the</span> menu
         form when <span class="searchword">the</span> user closed <span class="searchword">the</span>ir
         chosen form.</font>
            </span>
          </div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">
              </font>
            </span> 
      </div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">Here's <span class="searchword">the</span> code:</font>
            </span>
          </div>
          <div>
            <span class="541473513-01032005">
              <font size="4">
                <p>
                </p>
              </font>
              <font color="#008000" size="4">//minimize this window, and show ano<span class="searchword">the</span>r
         </font>
              <font size="4">
                <p>
                </p>
              </font>
              <font color="#0000ff" size="4">this</font>
              <font size="4">.WindowState =
         FormWindowState.Minimized; 
         <p>
            frmDemo f = 
         </p></font>
              <font color="#0000ff" size="4">new</font>
              <font size="4"> frmDemo();
         <p>
            f.ShowDialog(
         </p></font>
              <font color="#0000ff" size="4">this</font>
              <font size="4">); </font>
              <font color="#008000" size="4">//this
         form *owns* f
         </font>
              <font size="4">
                <p>
            }
         </p>
                <p>
                </p>
              </font>
              <font color="#008000" size="4">// in frmDemo, control <span class="searchword">the</span> calling
         (owner) form!
         </font>
              <font size="4">
                <p>
                </p>
              </font>
              <font color="#0000ff" size="4">private</font>
              <font size="4">
              </font>
              <font color="#0000ff" size="4">void</font>
              <font size="4"> Form1
         Closed(</font>
              <font color="#0000ff" size="4">object</font>
              <font size="4"> sender,
         System.EventArgs e)
         <p>
            {  //restore parent
         </p><p></p></font>
              <font color="#0000ff" size="4">    this</font>
              <font size="4">.Owner.WindowState
         = FormWindowState.Normal;
         <p>
            }
         </p></font>
            </span>
          </div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">
              </font>
            </span> 
      </div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">
              </font>
            </span> 
      </div>
          <div>
            <span class="541473513-01032005">
              <font face="Arial" size="2">It happens that
         I was investigating .NET 2, but actually this is a .NET 1 feature, although in .NET
         1 it is only available for modal forms (ShowDialog method) and in .NET 2 it's available
         for both Show and ShowDialog methods.</font>
            </span>
          </div>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=f6023fba-c0fb-475b-9bee-0a29df26d7e0" />
      </div>
    </content>
  </entry>
  <entry>
    <title>http://www.connectionstrings.com/</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,fdc2eba5-65ab-4f6a-a3c9-3a5b41f92d31.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,fdc2eba5-65ab-4f6a-a3c9-3a5b41f92d31.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:48:59.0631072+01:00</updated>
    <content type="html">&lt;div&gt;
   &lt;p&gt;
      How great is this? 
   &lt;/p&gt;
   &lt;p&gt;
      A simple site with a simple purpose and exactly the right name!
   &lt;/p&gt;
   &lt;p&gt;
      Well done, those&amp;nbsp;folk at &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=ddb85249-82fb-4f28-b380-fea58966bbf0&amp;amp;url=http%3a%2f%2fwww.connectionstrings.com%2f" ?&gt;http://www.connectionstrings.com/&lt;/a&gt;&amp;nbsp;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=fdc2eba5-65ab-4f6a-a3c9-3a5b41f92d31" /&gt;</content>
  </entry>
  <entry>
    <title>Use Starter kits in your organisation</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,82321cec-146b-4400-bfd4-9d0443639329.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,82321cec-146b-4400-bfd4-9d0443639329.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:34:24.0348784+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font size="2">
            <font size="3">OK, so I'm a believer in mentoring and learning
      by example. This feature <span class="searchword">of</span> Whidbey is such a good
      idea: (copied from <span class="searchword">the</span> What's new page) Starter Kits
      A starter kit is essentially an enhanced project template that can be shared with
      o<span class="searchword">the</span>r members <span class="searchword">of</span><span class="searchword">the</span> community.
      A starter kit includes code samples that compile, documentation, and o<span class="searchword">the</span>r
      helpful resources to enable you to learn new tools and programming techniques while
      building useful, real world applications. For more information, see How to: Create
      a Starter Kit.</font>
          </font>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=82321cec-146b-4400-bfd4-9d0443639329" />
      </div>
    </content>
  </entry>
  <entry>
    <title>UDDI Server in Windows 2003 Server (Part 1 of 3)</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,ee893e92-b36d-42cb-ac06-10dc0f24936e.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,ee893e92-b36d-42cb-ac06-10dc0f24936e.aspx</id>
    <published>2005-03-14T18:33:27+00:00</published>
    <updated>2005-08-26T18:34:23.7845184+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt; 
   &lt;p&gt;
      I have been trying for nearly a year to get W2k3's UDDI server to do a couple &lt;span class=searchword&gt;of&lt;/span&gt; neat
      tricks for me. I've seen both done in demonstrations, but had been unable to recreate &lt;span class=searchword&gt;the&lt;/span&gt; steps
      in one case and in &lt;span class=searchword&gt;the&lt;/span&gt; o&lt;span class=searchword&gt;the&lt;/span&gt;r,
      was unable to track down &lt;span class=searchword&gt;the&lt;/span&gt; demo movie (even &lt;span class=searchword&gt;the&lt;/span&gt; project
      manager at Micros&lt;span class=searchword&gt;of&lt;/span&gt;t was unable to find it again.) &lt;span class=searchword&gt;The&lt;/span&gt;n
      a colleague located something that looked very much like &lt;span class=searchword&gt;the&lt;/span&gt; same
      demonstration on a Micros&lt;span class=searchword&gt;of&lt;/span&gt;t Webcast page, but when
      I ran it, &lt;span class=searchword&gt;the&lt;/span&gt; commentary talked about doing&amp;nbsp;&lt;span class=searchword&gt;the&lt;/span&gt; fail-over
      I was hoping for, but &lt;span class=searchword&gt;the&lt;/span&gt; picture had frozen. Tantalizingly,
      I knew it was &lt;span class=searchword&gt;the&lt;/span&gt;re but couldn't actually see it!
   &lt;/p&gt;
   &lt;p&gt;
      Anyway, that spurred me on to have ano&lt;span class=searchword&gt;the&lt;/span&gt;r go at getting
      it to work, and this time I was more successful, finding &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=f2bb77ca-5ae7-43e2-af42-a1401890fb65&amp;amp;url=http%3a%2f%2fblogs.msdn.com%2fkarstenj" 
?&gt;Karsten
      Januszewski's blog&lt;/a&gt;&amp;nbsp;and returning to his articles (about &lt;span class=searchword&gt;the&lt;/span&gt; only
      ones published on coding UDDI in W2k3) and also finding &lt;span class=searchword&gt;the&lt;/span&gt; code
      file archives&amp;nbsp;for &lt;span class=searchword&gt;the&lt;/span&gt; Webcast.
   &lt;/p&gt;
   &lt;p&gt;
      It turns out that &lt;span class=searchword&gt;the&lt;/span&gt;re are a couple &lt;span class=searchword&gt;of&lt;/span&gt; unexpected
      issues that I can pass on to anyone hoping to program UDDI that will be helpful.
   &lt;/p&gt;
   &lt;p&gt;
      &lt;span class=searchword&gt;The&lt;/span&gt; tasks that I will document are:
   &lt;/p&gt;
   &lt;p&gt;
      1. Adding services into UDDI so &lt;span class=searchword&gt;the&lt;/span&gt;y can be discovered
      from Visual Studio's Add Web Reference wizard
   &lt;/p&gt;
   &lt;p&gt;
      2. Writing (.NET) client code that connects to an UDDI server, locates&amp;nbsp; service, &lt;span class=searchword&gt;the&lt;/span&gt;n
      retrieves &lt;span class=searchword&gt;the&lt;/span&gt; bindings (endpoints) for that service. &lt;span class=searchword&gt;The&lt;/span&gt; idea
      is that it can be used for fail-over.
   &lt;/p&gt;
   &lt;/font&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=ee893e92-b36d-42cb-ac06-10dc0f24936e" /&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio Tools for Office 2003 Training Available on MSDN</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,facc30f9-8314-4fc9-b264-8134e7a145be.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,facc30f9-8314-4fc9-b264-8134e7a145be.aspx</id>
    <published>2004-11-21T18:30:28+00:00</published>
    <updated>2005-08-26T18:31:21.0417472+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
   &lt;p&gt;
      Sushila Patel announced a series &lt;span class=searchword&gt;of&lt;/span&gt; training / labs
      for &lt;span class=searchword&gt;Of&lt;/span&gt;fice 2003 at 
   &lt;/p&gt;
   &lt;p&gt;
      &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=605e6de3-7783-4c84-aeba-eb08d0a01f85&amp;amp;url=http%3a%2f%2fweblogs.asp.net%2fSushilaSB%2farchive%2f2004%2f03%2f26%2f96760.aspx" 
?&gt;http://weblogs.asp.net/SushilaSB/archive/2004/03/26/96760.aspx&lt;/a&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=facc30f9-8314-4fc9-b264-8134e7a145be" /&gt;</content>
  </entry>
  <entry>
    <title>What is WSE?</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,1a83621c-4c2b-4955-b5ba-8b2565dbaed6.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,1a83621c-4c2b-4955-b5ba-8b2565dbaed6.aspx</id>
    <published>2004-11-21T18:30:28+00:00</published>
    <updated>2005-08-26T18:31:22.2835328+01:00</updated>
    <content type="html">
&lt;div&gt;
   &lt;p&gt;
      Since I've added WSE to &lt;span class=searchword&gt;the&lt;/span&gt; Web Services course, I was
      please to discover this 'positioning piece' from Omri Gazitt. &lt;span class=searchword&gt;The&lt;/span&gt; &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=7d8a1318-e5dd-4423-82ef-f0684a130f45&amp;amp;url=http%3a%2f%2fwww.gazitt.com%2fOhmBlog%2fpermalink.aspx%2f1cb861d2-5180-443f-95dc-ea0fdb75d65b" 
?&gt;full
      version is here&lt;/a&gt;, but this extract describes WSE nicely:
   &lt;/p&gt;
   &lt;p&gt;
      So what is WSE?&amp;nbsp; &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=7d8a1318-e5dd-4423-82ef-f0684a130f45&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3ffamilyid%3d21fb9b9a-c5f6-4c95-87b7-fc7ab49b3edd%26displaylang%3den" 
?&gt;WSE&lt;/a&gt; is
      a different kind &lt;span class=searchword&gt;of&lt;/span&gt; release.&amp;nbsp; It is a &lt;em&gt;platform
      enhancement&lt;/em&gt; technology.&amp;nbsp; Shipping major platforms every few years is a fact &lt;span class=searchword&gt;of&lt;/span&gt; life,
      but some technologies move so quickly that customers need updates well before &lt;span class=searchword&gt;the&lt;/span&gt; next
      platform comes out.&amp;nbsp; Web services is one &lt;span class=searchword&gt;of&lt;/span&gt; those
      technologies.&amp;nbsp; So we created a new model for getting enhanced platform technology
      to our customers - and thus WSE was born. 
   &lt;/p&gt;
   &lt;p&gt;
      WSE is a supported product in &lt;span class=searchword&gt;the&lt;/span&gt; same way that any
      Micros&lt;span class=searchword&gt;of&lt;/span&gt;t platform is - you can deploy on it, and we
      support it via Micros&lt;span class=searchword&gt;of&lt;/span&gt;t's Product Support Services.&amp;nbsp;
      But &lt;span class=searchword&gt;the&lt;/span&gt;re are a few important differences.&amp;nbsp; First,
      each WSE release is supported for 2 years + 1 year &lt;span class=searchword&gt;of&lt;/span&gt; extended
      support (compared with &lt;span class=searchword&gt;the&lt;/span&gt; 5+2 model for major platform
      releases).&amp;nbsp; This is because we anticipate doing releases on around a yearly schedule,
      and our goal is to have at most 2-3 versions to support at any given time, so we can
      deliver on our goal to ship on &lt;span class=searchword&gt;the&lt;/span&gt; order &lt;span class=searchword&gt;of&lt;/span&gt; once
      a year.&amp;nbsp; &lt;span class=searchword&gt;Of&lt;/span&gt; course when &lt;span class=searchword&gt;the&lt;/span&gt; major
      platform comes out, we encourage developers to move to that platform, which is supported
      at 5+2.&amp;nbsp; Ano&lt;span class=searchword&gt;the&lt;/span&gt;r difference is that WSE is not
      necessarily integrated with anything - &lt;span class=searchword&gt;the&lt;/span&gt;re are no
      complex technology interdependencies - WSE is a standalone product and can &lt;span class=searchword&gt;the&lt;/span&gt;refore
      ship on a faster schedule.&amp;nbsp; Yet ano&lt;span class=searchword&gt;the&lt;/span&gt;r difference
      is that we don't guarantee compatibility between releases - Web services are evolving
      quickly, and we &lt;span class=searchword&gt;of&lt;/span&gt;ten implement early versions &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt; specs
      which get superseded by &lt;span class=searchword&gt;the&lt;/span&gt; final versions (e.g. WS-Security
      getting superseded by OASIS WSS-Security).&amp;nbsp; Finally, while WSE is also&amp;nbsp;"hardened"
      from a functional quality, security, and stress point &lt;span class=searchword&gt;of&lt;/span&gt; view,&amp;nbsp;&lt;span class=searchword&gt;the&lt;/span&gt;re
      are things that we don't do with WSE that we do for major releases - for example,
      we don't localize WSE.&amp;nbsp; For all &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt;se
      reasons we are able to create new versions &lt;span class=searchword&gt;of&lt;/span&gt; WSE faster
      than we can roll out major platform releases. 
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=1a83621c-4c2b-4955-b5ba-8b2565dbaed6" /&gt;</content>
  </entry>
  <entry>
    <title>VB.NET, option strict on</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,c53b872e-3c38-4191-80e3-14525bdbaaee.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,c53b872e-3c38-4191-80e3-14525bdbaaee.aspx</id>
    <published>2004-11-21T18:30:28+00:00</published>
    <updated>2005-08-26T18:31:21.963072+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
   &lt;p&gt;
      This morning I read with glee, &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=ce16ecf2-9b40-4d70-9c06-dd48ee2413c3&amp;amp;url=http%3a%2f%2fweblogs.asp.net%2frchartier%2farchive%2f2004%2f01%2f13%2f58381.aspx" 
?&gt;Rob
      Chartier's mini rant about VB.NET's option strict&lt;/a&gt;. I say “mini rant” in &lt;span class=searchword&gt;the&lt;/span&gt; hope &lt;span class=searchword&gt;of&lt;/span&gt; encouraging
      Rob to rant some more, but first I wanted to rush to &lt;span class=searchword&gt;the&lt;/span&gt; defence &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt; VB
      .NET team on one point.
   &lt;/p&gt;
   &lt;p&gt;
      I'm a VB programmer who moved to C#, so I also had a phase &lt;span class=searchword&gt;of&lt;/span&gt; damning &lt;span class=searchword&gt;the&lt;/span&gt; team
      for not adopting a consistent set &lt;span class=searchword&gt;of&lt;/span&gt; keywords across &lt;span class=searchword&gt;the&lt;/span&gt; two
      languages. Rob cites &lt;font color=#0000ff&gt;static&lt;/font&gt; (C#) and &lt;font color=#0000ff&gt;Shared&lt;/font&gt; (VB)
      as an example and asks why not just adopt one or &lt;span class=searchword&gt;the&lt;/span&gt; o&lt;span class=searchword&gt;the&lt;/span&gt;r.
      It would certainly make life easier for me. Actually, &lt;span class=searchword&gt;the&lt;/span&gt; benefits
      are even greater when you consider &lt;font color=#0000ff&gt;override&lt;/font&gt; (C#) and &lt;font color=#0000ff&gt;Overrides&lt;/font&gt; (VB)
      or &lt;font color=#0000ff&gt;new&lt;/font&gt; (C#) and &lt;font color=#0000ff&gt;Shadows&lt;/font&gt; (VB).
   &lt;/p&gt;
   &lt;p&gt;
      By now I've mentioned enough examples to set out &lt;span class=searchword&gt;the&lt;/span&gt; arguments
      against such a move. If C# and VB.NET had &lt;span class=searchword&gt;the&lt;/span&gt; same keywords:
   &lt;/p&gt;
   &lt;ul&gt;
      &lt;li&gt;
         Which case would you adopt, lower case throughout as in C, or Icapped as in VB? 
         &lt;ul&gt;
            &lt;li&gt;
               Perhaps we could have a set &lt;span class=searchword&gt;of&lt;/span&gt; aliases like we do for &lt;span class=searchword&gt;the&lt;/span&gt; primitive
               types so that a C# programmer can type &lt;font color=#0000ff&gt;new&lt;/font&gt; and a VBer &lt;font color=#0000ff&gt;New&lt;/font&gt;
            &lt;/li&gt;
         &lt;/ul&gt;
      &lt;li&gt;
         Which set &lt;span class=searchword&gt;of&lt;/span&gt; keywords do you choose? 
         &lt;ul&gt;
            &lt;li&gt;
               &lt;span class=searchword&gt;The&lt;/span&gt; C# set are good because C, C++ and Java people are
               all familiar with &lt;span class=searchword&gt;the&lt;/span&gt;m 
            &lt;li&gt;
               &lt;span class=searchword&gt;The&lt;/span&gt; VB ones are good because &lt;span class=searchword&gt;the&lt;/span&gt;y &lt;span class=searchword&gt;of&lt;/span&gt;ten
               describe &lt;span class=searchword&gt;the&lt;/span&gt; functionality far better (isn't Shadows
               a nice way &lt;span class=searchword&gt;of&lt;/span&gt; describing &lt;span class=searchword&gt;the&lt;/span&gt; effect
               achieved by adding a function in a derived class that eclipses &lt;span class=searchword&gt;the&lt;/span&gt; function &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt; same
               name in &lt;span class=searchword&gt;the&lt;/span&gt; base class?) 
            &lt;li&gt;
               Maybe you decide each on its merit and produce a mixed ancestry. Yet sometimes &lt;span class=searchword&gt;the&lt;/span&gt; words
               are equally meritorious. Static variables are both &lt;em&gt;static&lt;/em&gt; in memory and &lt;em&gt;shared&lt;/em&gt; between
               instances.&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
   &lt;/ul&gt;
   &lt;p&gt;
      VB .NET developers, in &lt;span class=searchword&gt;the&lt;/span&gt; main come from VB developers.
      I've not yet heard &lt;span class=searchword&gt;of&lt;/span&gt; people moving into .NET as &lt;span class=searchword&gt;the&lt;/span&gt;ir
      first programming experience (although a couple &lt;span class=searchword&gt;of&lt;/span&gt; Universities
      have started exactly such programs.) When &lt;span class=searchword&gt;the&lt;/span&gt;y do start
      learning programming by learning .NET, I guess &lt;span class=searchword&gt;the&lt;/span&gt;y
      are more likely to choose C# as &lt;span class=searchword&gt;the&lt;/span&gt; language - I would
      certainly advise &lt;span class=searchword&gt;the&lt;/span&gt;m so to do.
   &lt;/p&gt;
   &lt;p&gt;
      So, VB .NET is &lt;span class=searchword&gt;the&lt;/span&gt;re to allow millions &lt;span class=searchword&gt;of&lt;/span&gt; VB
      3/5/6 programmers to move into OO and for &lt;span class=searchword&gt;the&lt;/span&gt;m to stay
      up to date with &lt;span class=searchword&gt;the&lt;/span&gt; MS environment. Consequently VB
      .NET has to keep it's existing set &lt;span class=searchword&gt;of&lt;/span&gt; keywords for those
      people. But VB .NET introduced several keywords that did not exist in VB to allow
      for inheritance. And &lt;span class=searchword&gt;the&lt;/span&gt;y chose descriptive words as
      is &lt;span class=searchword&gt;the&lt;/span&gt; tradition &lt;span class=searchword&gt;of&lt;/span&gt; VB
      because &lt;span class=searchword&gt;the&lt;/span&gt;re was no reason to maintain a tradition
      with C. Interestingly, many &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt;se
      VB developers have found &lt;span class=searchword&gt;the&lt;/span&gt; move to VB .NET too tough,
      but that's ano&lt;span class=searchword&gt;the&lt;/span&gt;r story!
   &lt;/p&gt;
   &lt;p&gt;
      So, if &lt;span class=searchword&gt;the&lt;/span&gt; decision was to produce a single keyword
      set that was mixed, &lt;span class=searchword&gt;the&lt;/span&gt;y would alienate both sets &lt;span class=searchword&gt;of&lt;/span&gt; developers.
      If &lt;span class=searchword&gt;the&lt;/span&gt;y chose &lt;span class=searchword&gt;the&lt;/span&gt; C keywords,
      as &lt;span class=searchword&gt;the&lt;/span&gt;y did for C#, &lt;span class=searchword&gt;the&lt;/span&gt;y
      would alienate &lt;span class=searchword&gt;the&lt;/span&gt; &lt;span class=searchword&gt;of&lt;/span&gt;t-mentioned
      “millions &lt;span class=searchword&gt;of&lt;/span&gt; VB developers”. And if &lt;span class=searchword&gt;the&lt;/span&gt;y
      went mixed, &lt;span class=searchword&gt;the&lt;/span&gt;y would upset everybody!
   &lt;/p&gt;
   &lt;p&gt;
      IMHO, what &lt;span class=searchword&gt;the&lt;/span&gt; VB .NET team have done (or were told
      to do) is to “dumb down” VB .NET to &lt;span class=searchword&gt;the&lt;/span&gt; point where
      it is no longer &lt;span class=searchword&gt;the&lt;/span&gt; language &lt;span class=searchword&gt;of&lt;/span&gt; choice
      for serious, knowledgeable VB developers. I read sometimes that &lt;span class=searchword&gt;the&lt;/span&gt;y
      are trying to re-introduce &lt;span class=searchword&gt;the&lt;/span&gt; RAD into VB, yet I don't
      think &lt;span class=searchword&gt;the&lt;/span&gt;re's much difference in &lt;span class=searchword&gt;the&lt;/span&gt; number &lt;span class=searchword&gt;of&lt;/span&gt; keystrokes
      taken to type VB and C# code. Where it will make a difference is when wizards and
      helpers start to generate code. But frankly, that code could be in any language.
   &lt;/p&gt;
   &lt;p&gt;
      I do a lot &lt;span class=searchword&gt;of&lt;/span&gt; training and am involved in writing courses,
      where VB .NET has its place. For example, it's easy for &lt;span class=searchword&gt;the&lt;/span&gt; wider
      audience to read 5 lines &lt;span class=searchword&gt;of&lt;/span&gt; VB code that demonstrate
      some point, than it would be to read C#. Whe&lt;span class=searchword&gt;the&lt;/span&gt;r &lt;span class=searchword&gt;the&lt;/span&gt; audience
      chooses to write VB or C# is ano&lt;span class=searchword&gt;the&lt;/span&gt;r matter, but I'm
      sure &lt;span class=searchword&gt;the&lt;/span&gt; C# writers can read both languages with ease.
   &lt;/p&gt;
   &lt;p&gt;
      However, I do agree with Rob and many o&lt;span class=searchword&gt;the&lt;/span&gt;rs who have
      made &lt;span class=searchword&gt;the&lt;/span&gt; point about Option Strict - it was madness &lt;span class=searchword&gt;of&lt;/span&gt; &lt;span class=searchword&gt;the&lt;/span&gt;m
      to default that to &lt;span class=searchword&gt;Of&lt;/span&gt;f. Especially when you consider &lt;span class=searchword&gt;the&lt;/span&gt; rationale
      was to make VB .NET more like VB and to allow VB6 code and coding practises to be
      supported in .NET.&lt;br&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=c53b872e-3c38-4191-80e3-14525bdbaaee" /&gt;</content>
  </entry>
  <entry>
    <title>Connection String testing tool</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,852a4a69-1754-43fb-a8ad-451059d546bf.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,852a4a69-1754-43fb-a8ad-451059d546bf.aspx</id>
    <published>2004-11-21T18:30:28+00:00</published>
    <updated>2005-08-26T18:31:21.8428992+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
   &lt;p&gt;
      I wanted to experiment with &lt;span class=searchword&gt;the&lt;/span&gt; different forms &lt;span class=searchword&gt;of&lt;/span&gt; referencing &lt;span class=searchword&gt;the&lt;/span&gt; local
      machine's database localhost, (local), ., 127.0.0.1, etc., so I built this &lt;b style="COLOR: black; BACKGROUND-COLOR: #99ff99"&gt;&lt;span class=searchword&gt;little&lt;/span&gt;&lt;/b&gt; tool.
   &lt;/p&gt;
   &lt;p&gt;
      Warning - &lt;span class=searchword&gt;the&lt;/span&gt; tool uses sa &amp;amp; no password - I dont!
      And nei&lt;span class=searchword&gt;the&lt;/span&gt;r should you!!!
   &lt;/p&gt;
   &lt;p&gt;
      Source available &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=f311c053-a0e5-420b-bc9a-49b031aec02b&amp;amp;url=http%3a%2f%2fstormsoftware.net%2fstuff%2fconnstringtest%2fcnstringtester.cs.txt" 
?&gt;here&lt;/a&gt;
   &lt;/p&gt;
   &lt;p&gt;
      Exe from &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=f311c053-a0e5-420b-bc9a-49b031aec02b&amp;amp;url=http%3a%2f%2fstormsoftware.net%2fstuff%2fconnstringtest%2fbin%2fdebug%2fconnstringtest.exe" 
?&gt;here&lt;/a&gt;
   &lt;/p&gt;
   &lt;p&gt;
      BTW - &lt;span class=searchword&gt;the&lt;/span&gt; “.” seems to work well
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=852a4a69-1754-43fb-a8ad-451059d546bf" /&gt;</content>
  </entry>
  <entry>
    <title>Micro(soft) Speak</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,2f1bd5e9-0176-4212-a7ad-134aa3311d45.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,2f1bd5e9-0176-4212-a7ad-134aa3311d45.aspx</id>
    <published>2004-11-21T18:30:28+00:00</published>
    <updated>2005-08-26T18:31:22.0932592+01:00</updated>
    <content type="html">
&lt;div&gt;&lt;font face=Arial size=2&gt; 
   &lt;p&gt;
      I loved &lt;span class=searchword&gt;the&lt;/span&gt; lingo glossary that &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=40863fb1-d8c0-4311-9936-44a99e30219b&amp;amp;url=http%3a%2f%2fweblogs.asp.net%2frmclaws%2fposts%2f45112.aspx" 
?&gt;Robert
      McLaws&lt;/a&gt; found, &lt;span class=searchword&gt;of&lt;/span&gt;fering such gems as:
   &lt;/p&gt;
   &lt;p&gt;
      Percussive Maintenance: &lt;span class=searchword&gt;The&lt;/span&gt; fine art &lt;span class=searchword&gt;of&lt;/span&gt; whacking &lt;span class=searchword&gt;the&lt;/span&gt; crap
      out &lt;span class=searchword&gt;of&lt;/span&gt; an electronic device to get it to work again.
   &lt;/p&gt;
   &lt;p&gt;
      Salmon Day: &lt;span class=searchword&gt;The&lt;/span&gt; experience &lt;span class=searchword&gt;of&lt;/span&gt; spending
      an entire day swimming upstream only to get screwed in &lt;span class=searchword&gt;the&lt;/span&gt; end
   &lt;/p&gt;
   &lt;p&gt;
      Crapplet: A badly written or pr&lt;span class=searchword&gt;of&lt;/span&gt;oundly useless applet.
      "I just wasted 30 minutes downloading this stinkin’ crapplet!"&amp;nbsp;&amp;nbsp;
   &lt;/p&gt;
   &lt;p&gt;
      Brain Fart: A by-product &lt;span class=searchword&gt;of&lt;/span&gt; a bloated mind producing
      information effortlessly. A burst &lt;span class=searchword&gt;of&lt;/span&gt; useful information. 
   &lt;/p&gt;
   &lt;/font&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=2f1bd5e9-0176-4212-a7ad-134aa3311d45" /&gt;</content>
  </entry>
  <entry>
    <title>C# Specification documents</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,d5062e1a-4b34-41a0-b022-ccac9819739f.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,d5062e1a-4b34-41a0-b022-ccac9819739f.aspx</id>
    <published>2004-11-21T18:27:13+00:00</published>
    <updated>2005-08-26T18:49:45.6801392+01:00</updated>
    <content type="html">&lt;div&gt;
   &lt;p&gt;
      The ECMA Draft version (which I used to learn &lt;b style="COLOR: black; BACKGROUND-COLOR: #a0ffff"&gt;C#&lt;/b&gt; and
      found it to be very useful) can be found at &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=9a8e8437-efa0-4ac2-be1b-32742cea708f&amp;amp;url=http%3a%2f%2fwww.stormsoftware.net%2fStuff%2fCsharp ECMA Draft.doc" ?&gt;http://www.stormsoftware.net/resources/&lt;u&gt;&lt;font color=#0000ff&gt;Csharp
      ECMA Draft.doc&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;
   &lt;/p&gt;
   &lt;p&gt;
      The official 1.2 version is at &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=9a8e8437-efa0-4ac2-be1b-32742cea708f&amp;amp;url=http%3a%2f%2fwww.stormsoftware.net%2fstuff%2fCsharp12.doc" ?&gt;http://www.stormsoftware.net/resources/&lt;u&gt;&lt;font color=#0000ff&gt;Csharp12.doc&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;
   &lt;/p&gt;
   &lt;p&gt;
      And, the draft for the Whibey version is &lt;a href="http://stormsoftware.net/blogs/russ/ct.ashx?id=9a8e8437-efa0-4ac2-be1b-32742cea708f&amp;amp;url=http%3a%2f%2fwww.stormsoftware.net%2fstuff%2fCsharp2.doc" ?&gt;http://www.stormsoftware.net/resources/&lt;u&gt;&lt;font color=#0000ff&gt;Csharp2.doc&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;
   &lt;/p&gt;
   &lt;p&gt;
      This post is really a reminder to myself so that I can easily find them again!
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=d5062e1a-4b34-41a0-b022-ccac9819739f" /&gt;</content>
  </entry>
  <entry>
    <title>101 things you always wanted to do in C# (and VB .NET)</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,4f833a69-dedd-4e88-8706-63ff3a329b0f.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,4f833a69-dedd-4e88-8706-63ff3a329b0f.aspx</id>
    <published>2004-11-21T18:27:13+00:00</published>
    <updated>2005-08-26T18:27:49.7779648+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">
            <p>
         If you're one <span class="searchword">of</span> those people who prefer to copy and
         paste ra<span class="searchword">the</span>r than originate (I know I am!) <span class="searchword">the</span>n
         this is for you: <a href="http://www.microsoft.com/downloads/details.aspx?familyid=08e3d5f8-033d-420b-a3b1-3074505c03f3&amp;amp;displaylang=en&quot;&gt;http://www.microsoft.com/downloads/details.aspx?familyid=08e3d5f8-033d-420b-a3b1-3074505c03f3&amp;amp;displaylang=en">http://www.micros<span class="searchword">of</span>t.com/downloads/details.aspx?familyid=08e3d5f8-033d-420b-a3b1-3074505c03f3&amp;amp;displaylang=en"&gt;http://www.micros<span class="searchword">of</span>t.com/downloads/details.aspx?familyid=08e3d5f8-033d-420b-a3b1-3074505c03f3&amp;amp;displaylang=en</a></p>
            <p>
         It's an installation <span class="searchword">of</span> various self-contained
         VB and C# projects. Go on, you know you should!
      </p>
            <p>
         BTW - 101 is American for basic/preparatory!
      </p>
          </font>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=4f833a69-dedd-4e88-8706-63ff3a329b0f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Catch-all exception handler for desktop apps</title>
    <link rel="alternate" type="text/html" href="http://stormsoftware.net/blogs/russ/PermaLink,guid,705a43f7-435a-481b-8e32-58d78e3243c5.aspx" />
    <id>http://stormsoftware.net/blogs/russ/PermaLink,guid,705a43f7-435a-481b-8e32-58d78e3243c5.aspx</id>
    <published>2004-11-21T18:27:13+00:00</published>
    <updated>2005-08-26T18:27:49.908152+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <font face="Arial" size="2">
            <p>
         Trapping Application.Run(new Form1()) exceptions works great in <span class="searchword">the</span> debugger,
         but not at all in release mode:
      </p>
            <p>
            try<br />
            {<br />
             Application.Run(new Form1());<br />
            }<br />
            catch (Exception ex)<br />
            {<br />
             MessageBox.Show("Error: " + ex.Message);<br />
            }<br /></p>
            <p>
         Turns out that Application is running your form on a different thread than <span class="searchword">the</span> one
         you are catching, so you have to trap that thread instead:
      </p>
            <p>
             // Creates an instance <span class="searchword">of</span><span class="searchword">the</span> methods
         that will handle <span class="searchword">the</span> exception.<br />
             CustomExceptionHandler eh = new CustomExceptionHandler();<br />
          <br />
             // Adds <span class="searchword">the</span> event handler
         to to <span class="searchword">the</span> event.<br />
             Application.ThreadException += new ThreadExceptionEventHandler(eh.OnThreadException);<br />
             Application.Run(new Form1());<br /></p>
            <p>
         You will also need <span class="searchword">the</span> class that handles <span class="searchword">the</span> event: 
      </p>
            <p>
           internal class CustomExceptionHandler 
         <br />
           {<br />
          <br />
            // Handles <span class="searchword">the</span> exception event.<br />
            public void OnThreadException(object sender, ThreadExceptionEventArgs
         t) 
         <br />
            {<br />
             DialogResult result = DialogResult.Cancel;<br />
             try<br />
             {<br />
              result = this.ShowThreadExceptionDialog(t.Exception);<br />
             }<br />
             catch<br />
             {<br />
              try<br />
              {<br />
               MessageBox.Show("Fatal Error", "Fatal Error",
         MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop);<br />
              }<br />
              finally<br />
              {<br />
               Application.Exit();<br />
              }<br />
             }
      </p>
            <p>
             // Exits <span class="searchword">the</span> program when <span class="searchword">the</span> user
         clicks Abort.<br />
             if (result == DialogResult.Abort) 
         <br />
              Application.Exit();<br />
            }<br />
          <br />
            // Creates <span class="searchword">the</span> error message and
         displays it.<br />
            private DialogResult ShowThreadExceptionDialog(Exception e) 
         <br />
            {<br />
             string errorMsg = "An error occurred please contact <span class="searchword">the</span> adminstrator
         with <span class="searchword">the</span> following information:\n\n";<br />
             errorMsg = errorMsg + e.Message + "\n\nStack Trace:\n" + e.StackTrace;<br />
             return MessageBox.Show(errorMsg, "Application Error", MessageBoxButtons.AbortRetryIgnore,
         MessageBoxIcon.Stop);<br />
            }<br />
           }<br /></p>
            <p>
         My thanks to Mark Conboy for providing this code (he found it on Technet)
      </p>
          </font>
        </div>
        <img width="0" height="0" src="http://stormsoftware.net/blogs/russ/aggbug.ashx?id=705a43f7-435a-481b-8e32-58d78e3243c5" />
      </div>
    </content>
  </entry>
</feed>