<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Syringe.Net.Nz - .NET</title>
    <link>http://www.syringe.net.nz/</link>
    <description>Irregular Injection Of Opinion</description>
    <language>en-us</language>
    <copyright>Chris J.T. Auld</copyright>
    <lastBuildDate>Sat, 08 Aug 2009 07:50:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>chris@syringe.net.nz</managingEditor>
    <webMaster>chris@syringe.net.nz</webMaster>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While there are certainly situations where it makes sense to have a natural <em>PartitionKey </em>when
working with Azure storage there are other times when all you really want is a simple
way to bucket up your data into equal bins. The usual approach to partitioning is
going to be some sort of hash function but if you decide to use a Guid as the RowKey
for your data you’ve basically got a nice collision resistant equal distribution already,
you just need to turn it into a partition key.
</p>
        <p>
I was sitting on the plane back from Singapore having a bit of a think about this.
Given that we can represent our Guid as a 128 bit Interger we can probably just do <em>RowKey </em>% <em>PartitionCount</em> 
and get a nice simple ordinal for each partition.
</p>
        <p>
So after my birthday dinner I did what any dedicated birthday boy would do and broke
out Visual Studio for a bit of a hack around..
</p>
        <p>
First problem was the ‘128 bit integer’ as .NET doesn’t have a native BigInt type.
A quick bit of Tiwtter asking and <a href="http://twitter.com/adjames">@adjames</a> suggested
the BigInteger class in .NET 4.0, but, given this is Azure there’s no .NET 4.0 support
quite yet. A bit of <a href="http://www.bing.com">Binging</a> (is that a verb yet?)
found some posts on <a href="http://stackoverflow.com/questions/567753/what-should-i-use-for-a-bigint-class-in-net">StackOverflow</a> and
an implementation of a <a href="http://biginteger.codeplex.com">BigInteger class on
CodePlex</a>.
</p>
        <p>
A quick console application confirmed that my thinking on the plane was right. 
</p>
        <div class="csharpcode">
          <pre class="csharpcode">
            <span class="kwrd">static</span>
            <span class="kwrd">void</span> Main(<span class="kwrd">string</span>[]
args) { <span class="kwrd">int</span>[] counts = <span class="kwrd">new</span><span class="kwrd">int</span>[]{0,0,0,0,0,0,0,0,0,0};
DateTime start = DateTime.Now; <span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; 1000000; i++) { Guid g = Guid.NewGuid(); BigInteger b = <span class="kwrd">new</span> BigInteger(g.ToByteArray());
BigInteger c = <span class="kwrd">new</span> BigInteger(10); <span class="rem">//Number
of partitions</span><span class="kwrd">int</span> p = BigInteger.ToInt32(BigInteger.Abs(b
% c)); <span class="rem">//Console.WriteLine(g.ToString() + " : " + p.ToString());</span> counts[p]
+= 1; } DateTime end = DateTime.Now; TimeSpan duration = end - start; Console.WriteLine(<span class="str">"Took:
"</span> + duration.TotalMilliseconds + <span class="str">" milliseconds"</span>);
Console.WriteLine(counts.ToString(<span class="str">","</span>)); Console.ReadKey();
}</pre>
          <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        </div>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
        </p>
        <p>
Running this confirmed that my <em>RowKey</em> values would be evenly distributed
across the 10 partitions- my concern here was that the Guid algorithm might not be
quite up to the task but all seems good.
</p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/SimplePartitioningwithWindowsAzureTableS_10E39/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/SimplePartitioningwithWindowsAzureTableS_10E39/image_thumb.png" width="644" height="78" />
          </a>
        </p>
        <p>
6500ms for a million rows doesn’t look too bad on the face of it. I’m sure there are
plenty of performance optimizations to be eeked out, but, they’ll pale into insignificance
compared to a round trip to Azure storage via the load balancer. What I do need to
test is that it’s not more efficient to rehash the Guid into 64 bits and then calculate
the modulo. But that’s for another night- jaded now and hoping to do 100km on the
roadie in the morning.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1" />
      </body>
      <title>Simple Partitioning with Windows Azure Table Storage</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1.aspx</guid>
      <link>http://www.syringe.net.nz/2009/08/08/SimplePartitioningWithWindowsAzureTableStorage.aspx</link>
      <pubDate>Sat, 08 Aug 2009 07:50:00 GMT</pubDate>
      <description>&lt;p&gt;
While there are certainly situations where it makes sense to have a natural &lt;em&gt;PartitionKey &lt;/em&gt;when
working with Azure storage there are other times when all you really want is a simple
way to bucket up your data into equal bins. The usual approach to partitioning is
going to be some sort of hash function but if you decide to use a Guid as the RowKey
for your data you’ve basically got a nice collision resistant equal distribution already,
you just need to turn it into a partition key.
&lt;/p&gt;
&lt;p&gt;
I was sitting on the plane back from Singapore having a bit of a think about this.
Given that we can represent our Guid as a 128 bit Interger we can probably just do &lt;em&gt;RowKey &lt;/em&gt;% &lt;em&gt;PartitionCount&lt;/em&gt;&amp;nbsp;
and get a nice simple ordinal for each partition.
&lt;/p&gt;
&lt;p&gt;
So after my birthday dinner I did what any dedicated birthday boy would do and broke
out Visual Studio for a bit of a hack around..
&lt;/p&gt;
&lt;p&gt;
First problem was the ‘128 bit integer’ as .NET doesn’t have a native BigInt type.
A quick bit of Tiwtter asking and &lt;a href="http://twitter.com/adjames"&gt;@adjames&lt;/a&gt; suggested
the BigInteger class in .NET 4.0, but, given this is Azure there’s no .NET 4.0 support
quite yet. A bit of &lt;a href="http://www.bing.com"&gt;Binging&lt;/a&gt; (is that a verb yet?)
found some posts on &lt;a href="http://stackoverflow.com/questions/567753/what-should-i-use-for-a-bigint-class-in-net"&gt;StackOverflow&lt;/a&gt; and
an implementation of a &lt;a href="http://biginteger.codeplex.com"&gt;BigInteger class on
CodePlex&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
A quick console application confirmed that my thinking on the plane was right. 
&lt;/p&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[]
args) { &lt;span class="kwrd"&gt;int&lt;/span&gt;[] counts = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt;[]{0,0,0,0,0,0,0,0,0,0};
DateTime start = DateTime.Now; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; 1000000; i++) { Guid g = Guid.NewGuid(); BigInteger b = &lt;span class="kwrd"&gt;new&lt;/span&gt; BigInteger(g.ToByteArray());
BigInteger c = &lt;span class="kwrd"&gt;new&lt;/span&gt; BigInteger(10); &lt;span class="rem"&gt;//Number
of partitions&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; p = BigInteger.ToInt32(BigInteger.Abs(b
% c)); &lt;span class="rem"&gt;//Console.WriteLine(g.ToString() + " : " + p.ToString());&lt;/span&gt; counts[p]
+= 1; } DateTime end = DateTime.Now; TimeSpan duration = end - start; Console.WriteLine(&lt;span class="str"&gt;"Took:
"&lt;/span&gt; + duration.TotalMilliseconds + &lt;span class="str"&gt;" milliseconds"&lt;/span&gt;);
Console.WriteLine(counts.ToString(&lt;span class="str"&gt;","&lt;/span&gt;)); Console.ReadKey();
}&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Running this confirmed that my &lt;em&gt;RowKey&lt;/em&gt; values would be evenly distributed
across the 10 partitions- my concern here was that the Guid algorithm might not be
quite up to the task but all seems good.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/SimplePartitioningwithWindowsAzureTableS_10E39/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/SimplePartitioningwithWindowsAzureTableS_10E39/image_thumb.png" width="644" height="78"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
6500ms for a million rows doesn’t look too bad on the face of it. I’m sure there are
plenty of performance optimizations to be eeked out, but, they’ll pale into insignificance
compared to a round trip to Azure storage via the load balancer. What I do need to
test is that it’s not more efficient to rehash the Guid into 64 bits and then calculate
the modulo. But that’s for another night- jaded now and hoping to do 100km on the
roadie in the morning.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,cebe3e19-85e6-4d5b-bc24-afb6f66aaeb1.aspx</comments>
      <category>.NET</category>
      <category>Windows Azure</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=4bc7c199-c3cb-4697-bf5d-f62b96860489</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,4bc7c199-c3cb-4697-bf5d-f62b96860489.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,4bc7c199-c3cb-4697-bf5d-f62b96860489.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=4bc7c199-c3cb-4697-bf5d-f62b96860489</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Way cool. <a href="http://twitter.com/rotoruaNZ">@RotoruaNZ</a> Tweeted me the other
day after I posted some photos of Mountain Biking up here.
</p>
        <p>
Asked if they could use one of my photos on their Mountain Biking page. Check out
Phil Ross on the dipper with the *loud* strobe action going on.
</p>
        <p>
          <a title="http://rotoruanz.com/" href="http://rotoruanz.com/">http://rotoruanz.com/</a> 
</p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/PhotoFeaturedontheDestinationRotoruaSite_9AC9/rotoruaNZ_MTB_chrisauld_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="rotoruaNZ_MTB_chrisauld" border="0" alt="rotoruaNZ_MTB_chrisauld" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/PhotoFeaturedontheDestinationRotoruaSite_9AC9/rotoruaNZ_MTB_chrisauld_thumb.jpg" width="244" height="180" />
          </a>
        </p>
        <p>
If you’re one of my overseas readers I can’t comment the City of Rotorua to you enough.
I’ve dreamed of living there since I was at highschool and it’s still 100% on my 5
year roadmap. It’s close to the ski fields, has phenomenal mountain biking (the Redwoods),
great kayaking (Kaituna and Wairoa) and great air links for frequent business travellers
like me (Can go direct to AKL, WLG, CHC and ZQN).
</p>
        <p>
The only query/quibble I have with the Destination Rotorua site is why on earth is
it hosted on the other side of the world!?! See the trace-route below. Looks like
it’s in Orlando!<br />
Looks like their site uses PHP so they’ll probably be a good candidate for the Apache
version of the Runtime Page Optimizer <a title="http://www.getrpo.com/Product/Apache" href="http://www.getrpo.com/Product/Apache">http://www.getrpo.com/Product/Apache</a>.
Running the <a href="http://www.getrpo.com/Product/TestYourSiteNow/">RPO site tester</a> it
reckons it should knock a couple of seconds off the New Zealand load times.
</p>
        <p>
          <font face="cou">C:\Users\Chris&gt;tracert www.rotoruanz.com </font>
        </p>
        <p>
          <font face="cou">Tracing route to rotoruanz.com [66.7.213.144]<br />
over a maximum of 30 hops: </font>
        </p>
        <p>
          <font face="cou">  1    13 ms    &lt;1 ms    
1 ms  …<br />
  2    &lt;1 ms    &lt;1 ms    &lt;1
ms  …<br />
  3     1 ms     2 ms    
1 ms  wlgrtr1-65.intergen.org.nz [202.126.87.65]<br />
  4     4 ms     1 ms    
2 ms  ihwrtr1-129.intergen.net.nz [202.126.87.129]<br />
  5     2 ms     5 ms    
3 ms  32.114.216.13<br />
  6   158 ms   150 ms   148 ms  165.87.71.190<br />
  7   150 ms   148 ms   148 ms  12.127.33.6<br />
  8   150 ms   152 ms   158 ms  cr2.sffca.ip.att.net
[12.122.136.74]<br />
  9   148 ms   148 ms   156 ms  ggr3.sffca.ip.att.net
[12.122.136.17]<br />
10   150 ms   149 ms   154 ms  att-gw.sanfran.level3.net
[192.205.33.78]<br />
11   157 ms   162 ms   161 ms  vlan89.csw3.sanjose1.level3.net
[4.68.18.190]<br />
12   176 ms   152 ms   160 ms  ae-83-83.ebr3.sanjose1.level3.net
[4.69.134.233] </font>
        </p>
        <p>
          <font face="cou"> 13   151 ms   155 ms   167 ms 
ae-2.ebr3.losangeles1.level3.net [4.69.132.10]<br />
14   148 ms   157 ms   148 ms  ae-63-63.csw1.losangeles1.level3.net
[4.69.137.3<br />
4]<br />
15   160 ms   163 ms   161 ms  ae-62-62.ebr2.losangeles1.level3.net
[4.69.137.1<br />
7]<br />
16   183 ms   181 ms   192 ms  ae-3.ebr3.dallas1.level3.net
[4.69.132.78]<br />
17   202 ms   181 ms   180 ms  ae-93-93.csw4.dallas1.level3.net
[4.69.136.166] </font>
        </p>
        <p>
          <font face="cou"> 18   190 ms   197 ms   181 ms 
ae-91-91.ebr1.dallas1.level3.net [4.69.136.133] </font>
        </p>
        <p>
          <font face="cou"> 19   215 ms   214 ms   224 ms 
ae-1-14.bar2.orlando1.level3.net [4.69.137.153] </font>
        </p>
        <p>
          <font face="cou"> 20   220 ms   218 ms   210 ms 
ae-9-9.car2.orlando1.level3.net [4.69.133.69]<br />
21   212 ms   210 ms   211 ms  hostdime.car2.orlando1.level3.net
[4.79.118.38] </font>
        </p>
        <p>
          <font face="cou"> 22   211 ms   211 ms   213 ms 
dime151.dizinc.com [66.7.213.144] </font>
        </p>
        <p>
          <font face="cou">Trace complete.</font>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4bc7c199-c3cb-4697-bf5d-f62b96860489" />
      </body>
      <title>Photo Featured on the Destination Rotorua Site</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,4bc7c199-c3cb-4697-bf5d-f62b96860489.aspx</guid>
      <link>http://www.syringe.net.nz/2009/04/21/PhotoFeaturedOnTheDestinationRotoruaSite.aspx</link>
      <pubDate>Tue, 21 Apr 2009 23:11:42 GMT</pubDate>
      <description>&lt;p&gt;
Way cool. &lt;a href="http://twitter.com/rotoruaNZ"&gt;@RotoruaNZ&lt;/a&gt; Tweeted me the other
day after I posted some photos of Mountain Biking up here.
&lt;/p&gt;
&lt;p&gt;
Asked if they could use one of my photos on their Mountain Biking page. Check out
Phil Ross on the dipper with the *loud* strobe action going on.
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://rotoruanz.com/" href="http://rotoruanz.com/"&gt;http://rotoruanz.com/&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/PhotoFeaturedontheDestinationRotoruaSite_9AC9/rotoruaNZ_MTB_chrisauld_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="rotoruaNZ_MTB_chrisauld" border="0" alt="rotoruaNZ_MTB_chrisauld" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/PhotoFeaturedontheDestinationRotoruaSite_9AC9/rotoruaNZ_MTB_chrisauld_thumb.jpg" width="244" height="180"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
If you’re one of my overseas readers I can’t comment the City of Rotorua to you enough.
I’ve dreamed of living there since I was at highschool and it’s still 100% on my 5
year roadmap. It’s close to the ski fields, has phenomenal mountain biking (the Redwoods),
great kayaking (Kaituna and Wairoa) and great air links for frequent business travellers
like me (Can go direct to AKL, WLG, CHC and ZQN).
&lt;/p&gt;
&lt;p&gt;
The only query/quibble I have with the Destination Rotorua site is why on earth is
it hosted on the other side of the world!?! See the trace-route below. Looks like
it’s in Orlando!&lt;br&gt;
Looks like their site uses PHP so they’ll probably be a good candidate for the Apache
version of the Runtime Page Optimizer &lt;a title="http://www.getrpo.com/Product/Apache" href="http://www.getrpo.com/Product/Apache"&gt;http://www.getrpo.com/Product/Apache&lt;/a&gt;.
Running the &lt;a href="http://www.getrpo.com/Product/TestYourSiteNow/"&gt;RPO site tester&lt;/a&gt; it
reckons it should knock a couple of seconds off the New Zealand load times.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="cou"&gt;C:\Users\Chris&amp;gt;tracert www.rotoruanz.com &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt;Tracing route to rotoruanz.com [66.7.213.144]&lt;br&gt;
over a maximum of 30 hops: &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 13 ms&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;1 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
1 ms&amp;nbsp; …&lt;br&gt;
&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;1 ms&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;1 ms&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;1
ms&amp;nbsp; …&lt;br&gt;
&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
1 ms&amp;nbsp; wlgrtr1-65.intergen.org.nz [202.126.87.65]&lt;br&gt;
&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
2 ms&amp;nbsp; ihwrtr1-129.intergen.net.nz [202.126.87.129]&lt;br&gt;
&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 ms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
3 ms&amp;nbsp; 32.114.216.13&lt;br&gt;
&amp;nbsp; 6&amp;nbsp;&amp;nbsp; 158 ms&amp;nbsp;&amp;nbsp; 150 ms&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp; 165.87.71.190&lt;br&gt;
&amp;nbsp; 7&amp;nbsp;&amp;nbsp; 150 ms&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp; 12.127.33.6&lt;br&gt;
&amp;nbsp; 8&amp;nbsp;&amp;nbsp; 150 ms&amp;nbsp;&amp;nbsp; 152 ms&amp;nbsp;&amp;nbsp; 158 ms&amp;nbsp; cr2.sffca.ip.att.net
[12.122.136.74]&lt;br&gt;
&amp;nbsp; 9&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp;&amp;nbsp; 156 ms&amp;nbsp; ggr3.sffca.ip.att.net
[12.122.136.17]&lt;br&gt;
10&amp;nbsp;&amp;nbsp; 150 ms&amp;nbsp;&amp;nbsp; 149 ms&amp;nbsp;&amp;nbsp; 154 ms&amp;nbsp; att-gw.sanfran.level3.net
[192.205.33.78]&lt;br&gt;
11&amp;nbsp;&amp;nbsp; 157 ms&amp;nbsp;&amp;nbsp; 162 ms&amp;nbsp;&amp;nbsp; 161 ms&amp;nbsp; vlan89.csw3.sanjose1.level3.net
[4.68.18.190]&lt;br&gt;
12&amp;nbsp;&amp;nbsp; 176 ms&amp;nbsp;&amp;nbsp; 152 ms&amp;nbsp;&amp;nbsp; 160 ms&amp;nbsp; ae-83-83.ebr3.sanjose1.level3.net
[4.69.134.233] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt; 13&amp;nbsp;&amp;nbsp; 151 ms&amp;nbsp;&amp;nbsp; 155 ms&amp;nbsp;&amp;nbsp; 167 ms&amp;nbsp;
ae-2.ebr3.losangeles1.level3.net [4.69.132.10]&lt;br&gt;
14&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp;&amp;nbsp; 157 ms&amp;nbsp;&amp;nbsp; 148 ms&amp;nbsp; ae-63-63.csw1.losangeles1.level3.net
[4.69.137.3&lt;br&gt;
4]&lt;br&gt;
15&amp;nbsp;&amp;nbsp; 160 ms&amp;nbsp;&amp;nbsp; 163 ms&amp;nbsp;&amp;nbsp; 161 ms&amp;nbsp; ae-62-62.ebr2.losangeles1.level3.net
[4.69.137.1&lt;br&gt;
7]&lt;br&gt;
16&amp;nbsp;&amp;nbsp; 183 ms&amp;nbsp;&amp;nbsp; 181 ms&amp;nbsp;&amp;nbsp; 192 ms&amp;nbsp; ae-3.ebr3.dallas1.level3.net
[4.69.132.78]&lt;br&gt;
17&amp;nbsp;&amp;nbsp; 202 ms&amp;nbsp;&amp;nbsp; 181 ms&amp;nbsp;&amp;nbsp; 180 ms&amp;nbsp; ae-93-93.csw4.dallas1.level3.net
[4.69.136.166] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt; 18&amp;nbsp;&amp;nbsp; 190 ms&amp;nbsp;&amp;nbsp; 197 ms&amp;nbsp;&amp;nbsp; 181 ms&amp;nbsp;
ae-91-91.ebr1.dallas1.level3.net [4.69.136.133] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt; 19&amp;nbsp;&amp;nbsp; 215 ms&amp;nbsp;&amp;nbsp; 214 ms&amp;nbsp;&amp;nbsp; 224 ms&amp;nbsp;
ae-1-14.bar2.orlando1.level3.net [4.69.137.153] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt; 20&amp;nbsp;&amp;nbsp; 220 ms&amp;nbsp;&amp;nbsp; 218 ms&amp;nbsp;&amp;nbsp; 210 ms&amp;nbsp;
ae-9-9.car2.orlando1.level3.net [4.69.133.69]&lt;br&gt;
21&amp;nbsp;&amp;nbsp; 212 ms&amp;nbsp;&amp;nbsp; 210 ms&amp;nbsp;&amp;nbsp; 211 ms&amp;nbsp; hostdime.car2.orlando1.level3.net
[4.79.118.38] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt; 22&amp;nbsp;&amp;nbsp; 211 ms&amp;nbsp;&amp;nbsp; 211 ms&amp;nbsp;&amp;nbsp; 213 ms&amp;nbsp;
dime151.dizinc.com [66.7.213.144] &lt;/font&gt; 
&lt;p&gt;
&lt;font face="cou"&gt;Trace complete.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4bc7c199-c3cb-4697-bf5d-f62b96860489" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,4bc7c199-c3cb-4697-bf5d-f62b96860489.aspx</comments>
      <category>.NET</category>
      <category>Adventure Sports</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=76c9ef8f-5172-43ac-8fa6-12998fba106e</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,76c9ef8f-5172-43ac-8fa6-12998fba106e.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,76c9ef8f-5172-43ac-8fa6-12998fba106e.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=76c9ef8f-5172-43ac-8fa6-12998fba106e</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So the session videos are up for MIX09.
</p>
        <p>
It’s video and screen casts …. which means you can watch me deftly dancing across
the stage in my yellow Crocs. Both sessions are a bunch of fun! Well worth taking
a look at.
</p>
        <p>
Building Accessible RIAs in Microsoft Silverlight<br /><a title="http://sessions.visitmix.com/MIX09/T65M" href="http://sessions.visitmix.com/MIX09/T65M">http://sessions.visitmix.com/MIX09/T65M</a></p>
        <p>
State of the Art in Web Site Design on Microsoft SharePoint<br /><a title="http://sessions.visitmix.com/MIX09/C20F" href="http://sessions.visitmix.com/MIX09/C20F">http://sessions.visitmix.com/MIX09/C20F</a></p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=76c9ef8f-5172-43ac-8fa6-12998fba106e" />
      </body>
      <title>My Sessions from MIX09 last week</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,76c9ef8f-5172-43ac-8fa6-12998fba106e.aspx</guid>
      <link>http://www.syringe.net.nz/2009/03/23/MySessionsFromMIX09LastWeek.aspx</link>
      <pubDate>Mon, 23 Mar 2009 05:34:03 GMT</pubDate>
      <description>&lt;p&gt;
So the session videos are up for MIX09.
&lt;/p&gt;
&lt;p&gt;
It’s video and screen casts …. which means you can watch me deftly dancing across
the stage in my yellow Crocs. Both sessions are a bunch of fun! Well worth taking
a look at.
&lt;/p&gt;
&lt;p&gt;
Building Accessible RIAs in Microsoft Silverlight&lt;br&gt;
&lt;a title="http://sessions.visitmix.com/MIX09/T65M" href="http://sessions.visitmix.com/MIX09/T65M"&gt;http://sessions.visitmix.com/MIX09/T65M&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
State of the Art in Web Site Design on Microsoft SharePoint&lt;br&gt;
&lt;a title="http://sessions.visitmix.com/MIX09/C20F" href="http://sessions.visitmix.com/MIX09/C20F"&gt;http://sessions.visitmix.com/MIX09/C20F&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=76c9ef8f-5172-43ac-8fa6-12998fba106e" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,76c9ef8f-5172-43ac-8fa6-12998fba106e.aspx</comments>
      <category>.NET</category>
      <category>SharePoint</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=759afaaf-a58d-4e2f-9179-5da7c0cc1eb4</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,759afaaf-a58d-4e2f-9179-5da7c0cc1eb4.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,759afaaf-a58d-4e2f-9179-5da7c0cc1eb4.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=759afaaf-a58d-4e2f-9179-5da7c0cc1eb4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So VSeWSS doesn’t provide a Visual Studio project type to create Themes.
</p>
        <p>
So we have to start out with a SharePoint –&gt; Blank Project.
</p>
        <p>
Then we add a Root File<br /><a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_thumb_1.png" width="244" height="184" /></a></p>
        <p>
Then we need to create a structure something like this (if we want to be nicely multilingual
aware)<br />
 <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_10.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_thumb_4.png" width="244" height="195" /></a></p>
        <p>
So creating these by hand is a bit of a pain in the arse… especially if you have to
do it during a presentation (come to my presentation at MIX09! ‘State of the Art in
Web Site Design on Microsoft SharePoint’). 
</p>
        <p>
So I wrote a little Macro that creates these folders for you… thought it might be
useful to some people.
</p>
        <pre class="csharpcode">
          <span class="kwrd">Sub</span> TemporaryMacro() <span class="kwrd">Dim</span> themeName <span class="kwrd">As</span><span class="kwrd">String</span> =
InputBox(<span class="str">"Enter the template name"</span>) <span class="kwrd">Dim</span> rootItem <span class="kwrd">As</span> ProjectItem
= DTE.Solution.Projects.Item(1).ProjectItems.Item(2) <span class="kwrd">Dim</span> templateItem <span class="kwrd">As</span> ProjectItem
= rootItem.ProjectItems.AddFolder(<span class="str">"TEMPLATE"</span>) templateItem.ProjectItems.AddFolder(<span class="str">"THEMES"</span>).ProjectItems.AddFolder(themeName)
templateItem.ProjectItems.AddFolder(<span class="str">"LAYOUTS"</span>).ProjectItems.AddFolder(<span class="str">"1033"</span>)
_ .ProjectItems.AddFolder(<span class="str">"IMAGES"</span>).ProjectItems.AddFolder(themeName) <span class="kwrd">End</span> Sub</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
Hope it’s helpful for people.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=759afaaf-a58d-4e2f-9179-5da7c0cc1eb4" />
      </body>
      <title>Creating the Structure for a SharePoint Theme in VSeWSS v1.3</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,759afaaf-a58d-4e2f-9179-5da7c0cc1eb4.aspx</guid>
      <link>http://www.syringe.net.nz/2009/03/11/CreatingTheStructureForASharePointThemeInVSeWSSV13.aspx</link>
      <pubDate>Wed, 11 Mar 2009 00:12:51 GMT</pubDate>
      <description>&lt;p&gt;
So VSeWSS doesn’t provide a Visual Studio project type to create Themes.
&lt;/p&gt;
&lt;p&gt;
So we have to start out with a SharePoint –&amp;gt; Blank Project.
&lt;/p&gt;
&lt;p&gt;
Then we add a Root File&lt;br&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_thumb_1.png" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Then we need to create a structure something like this (if we want to be nicely multilingual
aware)&lt;br&gt;
&amp;nbsp;&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/CreatingtheStructureforaSharePointThemei_B6BF/image_thumb_4.png" width="244" height="195"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
So creating these by hand is a bit of a pain in the arse… especially if you have to
do it during a presentation (come to my presentation at MIX09! ‘State of the Art in
Web Site Design on Microsoft SharePoint’). 
&lt;/p&gt;
&lt;p&gt;
So I wrote a little Macro that creates these folders for you… thought it might be
useful to some people.
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;Sub&lt;/span&gt; TemporaryMacro() &lt;span class="kwrd"&gt;Dim&lt;/span&gt; themeName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; =
InputBox(&lt;span class="str"&gt;"Enter the template name"&lt;/span&gt;) &lt;span class="kwrd"&gt;Dim&lt;/span&gt; rootItem &lt;span class="kwrd"&gt;As&lt;/span&gt; ProjectItem
= DTE.Solution.Projects.Item(1).ProjectItems.Item(2) &lt;span class="kwrd"&gt;Dim&lt;/span&gt; templateItem &lt;span class="kwrd"&gt;As&lt;/span&gt; ProjectItem
= rootItem.ProjectItems.AddFolder(&lt;span class="str"&gt;"TEMPLATE"&lt;/span&gt;) templateItem.ProjectItems.AddFolder(&lt;span class="str"&gt;"THEMES"&lt;/span&gt;).ProjectItems.AddFolder(themeName)
templateItem.ProjectItems.AddFolder(&lt;span class="str"&gt;"LAYOUTS"&lt;/span&gt;).ProjectItems.AddFolder(&lt;span class="str"&gt;"1033"&lt;/span&gt;)
_ .ProjectItems.AddFolder(&lt;span class="str"&gt;"IMAGES"&lt;/span&gt;).ProjectItems.AddFolder(themeName) &lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
Hope it’s helpful for people.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=759afaaf-a58d-4e2f-9179-5da7c0cc1eb4" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,759afaaf-a58d-4e2f-9179-5da7c0cc1eb4.aspx</comments>
      <category>.NET</category>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=4972cbe3-81fa-4cac-a397-9a3aebc66a15</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,4972cbe3-81fa-4cac-a397-9a3aebc66a15.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,4972cbe3-81fa-4cac-a397-9a3aebc66a15.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=4972cbe3-81fa-4cac-a397-9a3aebc66a15</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So there are plenty of posts around the web about how to get the best performance
out of Virtual Machines. I thought I’d jot down what I do. I use VMs mostly for running
training and demos- so my usage approach is optimized that way.
</p>
        <p>
First let me say I am a Virtual PC guy. I’ve tried VMWare, I’ve tried Hyper-V, I’ve
tried Virtual Server 2005 R2. In the end I just find VPC 2007 SP1 the best balance
of performance and convenience. I use VMs mostly for presenting and I do so off a
less than uber grunty machine- I run my VMs on a Lenovo x61t Notebook- it’s not the
fastest machine in the world but it is tiny, light and versatile- all grat for regular
travellers like me. My Vista Index looks like this
</p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/GettingTailKickingPerformanceOutofVirtua_11BF6/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/GettingTailKickingPerformanceOutofVirtua_11BF6/image_thumb.png" width="244" height="192" />
          </a>
          <br />
You’ll note I’ve invested in the important things- 300GB 7200RPM HDD and 4GB of RAM.
Despite only being a 1.6Ghz Processor it still gets a 4.5.
</p>
        <p>
Anyway, I digress. So here’s how I run my VPCs.
</p>
        <p>
I do some basic Host machine tweaks per: <a title="http://support.microsoft.com/Default.aspx?id=840193" href="http://support.microsoft.com/Default.aspx?id=840193">http://support.microsoft.com/Default.aspx?id=840193</a><br />
Basically this is just configuring my Virus Scanner (CA eTrust) to ignore VPC and
my VHD and other related files.<br /><br />
I follow some of the guest tweaks that Andrew Connell has collated <a href="http://www.andrewconnell.com/blog/articles/SqeezePerformanceOutOfVirtualPCs.aspx">here</a>.
</p>
        <p>
My key secret is my drive configuration.<br />
I put my VHDs onto a fast Flash key. I’ve got a 32GB Patriot XT and I just got an
OCZ ATV 32GB. Both are fast reading drives at about 30 Megabytes per Second..<br />
I then configure my VMC so that the *.vmc file is on my primary HDD spindle (the 7200RPM
drive above) and I turn on Undo disks. This means that all the write traffic is on
the 7200RPM platter and the read access is split between this main drive and the thumb
drive. The result is great performance. I’ll probably swap my primary drive to an
SSD later this year which will probably mean a bit of a rethink.
</p>
        <p>
YMMV.. but this works well for me.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4972cbe3-81fa-4cac-a397-9a3aebc66a15" />
      </body>
      <title>Getting Tail Kicking Performance Out of Virtual PC</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,4972cbe3-81fa-4cac-a397-9a3aebc66a15.aspx</guid>
      <link>http://www.syringe.net.nz/2009/03/06/GettingTailKickingPerformanceOutOfVirtualPC.aspx</link>
      <pubDate>Fri, 06 Mar 2009 07:28:36 GMT</pubDate>
      <description>&lt;p&gt;
So there are plenty of posts around the web about how to get the best performance
out of Virtual Machines. I thought I’d jot down what I do. I use VMs mostly for running
training and demos- so my usage approach is optimized that way.
&lt;/p&gt;
&lt;p&gt;
First let me say I am a Virtual PC guy. I’ve tried VMWare, I’ve tried Hyper-V, I’ve
tried Virtual Server 2005 R2. In the end I just find VPC 2007 SP1 the best balance
of performance and convenience. I use VMs mostly for presenting and I do so off a
less than uber grunty machine- I run my VMs on a Lenovo x61t Notebook- it’s not the
fastest machine in the world but it is tiny, light and versatile- all grat for regular
travellers like me. My Vista Index looks like this
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/GettingTailKickingPerformanceOutofVirtua_11BF6/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/GettingTailKickingPerformanceOutofVirtua_11BF6/image_thumb.png" width="244" height="192"&gt;&lt;/a&gt; 
&lt;br&gt;
You’ll note I’ve invested in the important things- 300GB 7200RPM HDD and 4GB of RAM.
Despite only being a 1.6Ghz Processor it still gets a 4.5.
&lt;/p&gt;
&lt;p&gt;
Anyway, I digress. So here’s how I run my VPCs.
&lt;/p&gt;
&lt;p&gt;
I do some basic Host machine tweaks per: &lt;a title="http://support.microsoft.com/Default.aspx?id=840193" href="http://support.microsoft.com/Default.aspx?id=840193"&gt;http://support.microsoft.com/Default.aspx?id=840193&lt;/a&gt;
&lt;br&gt;
Basically this is just configuring my Virus Scanner (CA eTrust) to ignore VPC and
my VHD and other related files.&lt;br&gt;
&lt;br&gt;
I follow some of the guest tweaks that Andrew Connell has collated &lt;a href="http://www.andrewconnell.com/blog/articles/SqeezePerformanceOutOfVirtualPCs.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
My key secret is my drive configuration.&lt;br&gt;
I put my VHDs onto a fast Flash key. I’ve got a 32GB Patriot XT and I just got an
OCZ ATV 32GB. Both are fast reading drives at about 30 Megabytes per Second..&lt;br&gt;
I then configure my VMC so that the *.vmc file is on my primary HDD spindle (the 7200RPM
drive above) and I turn on Undo disks. This means that all the write traffic is on
the 7200RPM platter and the read access is split between this main drive and the thumb
drive. The result is great performance. I’ll probably swap my primary drive to an
SSD later this year which will probably mean a bit of a rethink.
&lt;/p&gt;
&lt;p&gt;
YMMV.. but this works well for me.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4972cbe3-81fa-4cac-a397-9a3aebc66a15" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,4972cbe3-81fa-4cac-a397-9a3aebc66a15.aspx</comments>
      <category>.NET</category>
      <category>Windows 7even</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=45d28dbd-bd42-49e9-992a-a52c12229ad4</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,45d28dbd-bd42-49e9-992a-a52c12229ad4.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,45d28dbd-bd42-49e9-992a-a52c12229ad4.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=45d28dbd-bd42-49e9-992a-a52c12229ad4</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Whoops! Got to Xero this morning and got this.
</p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/XeroErrorhandling.Errorsinyourpagesareb_A29C/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/XeroErrorhandling.Errorsinyourpagesareb_A29C/image_thumb.png" width="244" height="158" />
          </a>
        </p>
        <p>
Looking at the address bar it appears that it’s sent me to the custom error page.
And then the custom error page has thrown an unhandled exception which has been bubbled
to the default error handler.
</p>
        <p>
If ever there was a case for using ‘On Error Resume Next’ then Custom ASP.NET Error
pages are it . Throwing an unhandled exceptin from your nice Custom Error page gives
bad UX.
</p>
        <p>
On the plus side, the Xero support people are just super and the actual application
really rocks too.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=45d28dbd-bd42-49e9-992a-a52c12229ad4" />
      </body>
      <title>Xero Error handling. Errors in your pages are bad. Errors in your Error pages are REALLY bad.</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,45d28dbd-bd42-49e9-992a-a52c12229ad4.aspx</guid>
      <link>http://www.syringe.net.nz/2009/02/02/XeroErrorHandlingErrorsInYourPagesAreBadErrorsInYourErrorPagesAreREALLYBad.aspx</link>
      <pubDate>Mon, 02 Feb 2009 22:32:23 GMT</pubDate>
      <description>&lt;p&gt;
Whoops! Got to Xero this morning and got this.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/XeroErrorhandling.Errorsinyourpagesareb_A29C/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/XeroErrorhandling.Errorsinyourpagesareb_A29C/image_thumb.png" width="244" height="158"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Looking at the address bar it appears that it’s sent me to the custom error page.
And then the custom error page has thrown an unhandled exception which has been bubbled
to the default error handler.
&lt;/p&gt;
&lt;p&gt;
If ever there was a case for using ‘On Error Resume Next’ then Custom ASP.NET Error
pages are it . Throwing an unhandled exceptin from your nice Custom Error page gives
bad UX.
&lt;/p&gt;
&lt;p&gt;
On the plus side, the Xero support people are just super and the actual application
really rocks too.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=45d28dbd-bd42-49e9-992a-a52c12229ad4" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,45d28dbd-bd42-49e9-992a-a52c12229ad4.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=f1ba481e-a40d-4246-9b84-0c4363ea6085</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,f1ba481e-a40d-4246-9b84-0c4363ea6085.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,f1ba481e-a40d-4246-9b84-0c4363ea6085.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=f1ba481e-a40d-4246-9b84-0c4363ea6085</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 
</p>
        <blockquote>
          <p>
Had plenty of conversations over the past few days in Mumbai with people about scale
out strategies. About the difference between stateless and stateful portions of your
application and about some ideas around choosing horizontal partitioning strategies. 
</p>
          <p>
Waddayaknow… I boot up RSS Bandit this morning and Dare has a great post on this. 
</p>
          <p>
Covers many of the things we discuss this week. 
</p>
          <p>
One of the things I focussed on a bunch this week is having some knowledge of the
distribution of your data when choosing a good partition key.<br />
You want a horizontal partitioning key (partition key in Azure Table Storage) that
ideally DOESN’T fit a normal distribution.<br />
Think of it like this. If you partition your data using say the first letter of the
user name then you’re gonna end up with a whole bunch in your ‘S’ partition and not
a lot in your ‘Z’ partition. 
</p>
          <p>
Anyway. A great post and well worth reading.
</p>
        </blockquote>
        <p>
          <a href="http://www.25hoursaday.com/weblog/2009/01/16/BuildingScalableDatabasesProsAndConsOfVariousDatabaseShardingSchemes.aspx">Building
Scalable Databases: Pros and Cons of Various Database Sharding Schemes</a>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=f1ba481e-a40d-4246-9b84-0c4363ea6085" />
      </body>
      <title>Strategies for Scaling out your Data Tier</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,f1ba481e-a40d-4246-9b84-0c4363ea6085.aspx</guid>
      <link>http://www.syringe.net.nz/2009/01/17/StrategiesForScalingOutYourDataTier.aspx</link>
      <pubDate>Sat, 17 Jan 2009 12:32:19 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Had plenty of conversations over the past few days in Mumbai with people about scale
out strategies. About the difference between stateless and stateful portions of your
application and about some ideas around choosing horizontal partitioning strategies. 
&lt;p&gt;
Waddayaknow… I boot up RSS Bandit this morning and Dare has a great post on this. 
&lt;p&gt;
Covers many of the things we discuss this week. 
&lt;p&gt;
One of the things I focussed on a bunch this week is having some knowledge of the
distribution of your data when choosing a good partition key.&lt;br&gt;
You want a horizontal partitioning key (partition key in Azure Table Storage) that
ideally DOESN’T fit a normal distribution.&lt;br&gt;
Think of it like this. If you partition your data using say the first letter of the
user name then you’re gonna end up with a whole bunch in your ‘S’ partition and not
a lot in your ‘Z’ partition. 
&lt;p&gt;
Anyway. A great post and well worth reading.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;a href="http://www.25hoursaday.com/weblog/2009/01/16/BuildingScalableDatabasesProsAndConsOfVariousDatabaseShardingSchemes.aspx"&gt;Building
Scalable Databases: Pros and Cons of Various Database Sharding Schemes&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=f1ba481e-a40d-4246-9b84-0c4363ea6085" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,f1ba481e-a40d-4246-9b84-0c4363ea6085.aspx</comments>
      <category>.NET</category>
      <category>Windows Azure</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=ee552cad-217d-4a2f-930c-cc8f73226d85</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,ee552cad-217d-4a2f-930c-cc8f73226d85.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,ee552cad-217d-4a2f-930c-cc8f73226d85.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=ee552cad-217d-4a2f-930c-cc8f73226d85</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So Ivan Towlson has written up a great post on C# covariance and contravariance in
.NET 4.0
</p>
        <p>
          <a title="http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html" href="http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html">http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html</a>
        </p>
        <p>
I know that I burnt my fingers on this issue doing some ASP.NET MVC stuff a few weeks
ago so I’m looking forward to getting my hands on the 4.0 bits to use in Anger.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ee552cad-217d-4a2f-930c-cc8f73226d85" />
      </body>
      <title>A Blog Post Well Worthy of your Time: C# Generic Type Variance by IvanT</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,ee552cad-217d-4a2f-930c-cc8f73226d85.aspx</guid>
      <link>http://www.syringe.net.nz/2008/12/29/ABlogPostWellWorthyOfYourTimeCGenericTypeVarianceByIvanT.aspx</link>
      <pubDate>Mon, 29 Dec 2008 22:21:56 GMT</pubDate>
      <description>&lt;p&gt;
So Ivan Towlson has written up a great post on C# covariance and contravariance in
.NET 4.0
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html" href="http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html"&gt;http://hestia.typepad.com/flatlander/2008/12/c-covariance-and-contravariance-by-example.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I know that I burnt my fingers on this issue doing some ASP.NET MVC stuff a few weeks
ago so I’m looking forward to getting my hands on the 4.0 bits to use in Anger.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ee552cad-217d-4a2f-930c-cc8f73226d85" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,ee552cad-217d-4a2f-930c-cc8f73226d85.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=7564318a-7695-460d-aa66-36bab7c00d81</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,7564318a-7695-460d-aa66-36bab7c00d81.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,7564318a-7695-460d-aa66-36bab7c00d81.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=7564318a-7695-460d-aa66-36bab7c00d81</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So one of the funky things about the .NET Services (was Biztalk serivces) part of
Windows Azure is the Connectivity Service.
</p>
        <p>
This makes it easier for WCF to communicate bidirectionally through NATs.
</p>
        <p>
It works by initially working through the cloud hosted relay and then attempting to
establish a direct connection. The direct connection approach is pretty cool.
</p>
        <p>
Obviously if it’s inside the same subnet they just talk direct, but, if it’s punching
through NAT devices it requires some differnet approaches.
</p>
        <p>
The approach that <a href="http://blogs.msdn.com/clemensv/">Clemens et al</a> have
taken here is the idea of NAT Port Prediction. Basically it involes ‘guessing which
ports will be opened outbound, firing a packet at roughly the same time between both
ends of the connection and ‘hopefully’ snapping a socket open.
</p>
        <p>
High level details are here:<br /><a title="http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/" href="http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/">http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/</a></p>
        <p>
Quite a cool approach, Clemens assures us that it’s used a bunch already by the likes
of Live Messenger and others.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=7564318a-7695-460d-aa66-36bab7c00d81" />
      </body>
      <title>Direct Connection with .NET Services (Azure Services Platform)</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,7564318a-7695-460d-aa66-36bab7c00d81.aspx</guid>
      <link>http://www.syringe.net.nz/2008/11/19/DirectConnectionWithNETServicesAzureServicesPlatform.aspx</link>
      <pubDate>Wed, 19 Nov 2008 23:20:35 GMT</pubDate>
      <description>&lt;p&gt;
So one of the funky things about the .NET Services (was Biztalk serivces) part of
Windows Azure is the Connectivity Service.
&lt;/p&gt;
&lt;p&gt;
This makes it easier for WCF to communicate bidirectionally through NATs.
&lt;/p&gt;
&lt;p&gt;
It works by initially working through the cloud hosted relay and then attempting to
establish a direct connection. The direct connection approach is pretty cool.
&lt;/p&gt;
&lt;p&gt;
Obviously if it’s inside the same subnet they just talk direct, but, if it’s punching
through NAT devices it requires some differnet approaches.
&lt;/p&gt;
&lt;p&gt;
The approach that &lt;a href="http://blogs.msdn.com/clemensv/"&gt;Clemens et al&lt;/a&gt; have
taken here is the idea of NAT Port Prediction. Basically it involes ‘guessing which
ports will be opened outbound, firing a packet at roughly the same time between both
ends of the connection and ‘hopefully’ snapping a socket open.
&lt;/p&gt;
&lt;p&gt;
High level details are here:&lt;br&gt;
&lt;a title="http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/" href="http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/"&gt;http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Quite a cool approach, Clemens assures us that it’s used a bunch already by the likes
of Live Messenger and others.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=7564318a-7695-460d-aa66-36bab7c00d81" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,7564318a-7695-460d-aa66-36bab7c00d81.aspx</comments>
      <category>.NET</category>
      <category>Windows Azure</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=bb694c97-ac7a-474b-8406-8dc0f3a95e51</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,bb694c97-ac7a-474b-8406-8dc0f3a95e51.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,bb694c97-ac7a-474b-8406-8dc0f3a95e51.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=bb694c97-ac7a-474b-8406-8dc0f3a95e51</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So not sure if I’m allowed to talk about this… but bugger it… here goes.
</p>
        <p>
So the guys @ Aptimize (<a href="http://www.getrpo.com">http://www.getrpo.com</a>)
have put together an add in for Fiddler that basically runs their Page Optimizer in
the <a href="http://www.fiddlertool.com/fiddler/">Fiddler</a> proxy. 
</p>
        <p>
So this lets me basically ty the RPO on any site. The actual page load times are all
up the wazoo due to all the traffic going *slowly* through fiddler…. but check out
the YSlow goodness.
</p>
        <p>
RPO Off, Microsoft.com gets a grade F (34)
</p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_8.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_thumb_3.png" width="244" height="160" />
          </a>
        </p>
        <p>
RPO On, Microsoft.com gets a grade A (94)<br /></p>
        <p>
          <a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_thumb_1.png" width="244" height="160" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=bb694c97-ac7a-474b-8406-8dc0f3a95e51" />
      </body>
      <title>Playing with the new RPO Fiddler Add-in</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,bb694c97-ac7a-474b-8406-8dc0f3a95e51.aspx</guid>
      <link>http://www.syringe.net.nz/2008/10/28/PlayingWithTheNewRPOFiddlerAddin.aspx</link>
      <pubDate>Tue, 28 Oct 2008 16:14:04 GMT</pubDate>
      <description>&lt;p&gt;
So not sure if I’m allowed to talk about this… but bugger it… here goes.
&lt;/p&gt;
&lt;p&gt;
So the guys @ Aptimize (&lt;a href="http://www.getrpo.com"&gt;http://www.getrpo.com&lt;/a&gt;)
have put together an add in for Fiddler that basically runs their Page Optimizer in
the &lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt; proxy. 
&lt;/p&gt;
&lt;p&gt;
So this lets me basically ty the RPO on any site. The actual page load times are all
up the wazoo due to all the traffic going *slowly* through fiddler…. but check out
the YSlow goodness.
&lt;/p&gt;
&lt;p&gt;
RPO Off, Microsoft.com gets a grade F (34)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_thumb_3.png" width="244" height="160"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
RPO On, Microsoft.com gets a grade A (94)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.syringe.net.nz/content/binary/WindowsLiveWriter/096332c0eb1a_8049/image_thumb_1.png" width="244" height="160"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=bb694c97-ac7a-474b-8406-8dc0f3a95e51" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,bb694c97-ac7a-474b-8406-8dc0f3a95e51.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=4795ce5a-c373-4e69-9141-dfe8924f3420</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,4795ce5a-c373-4e69-9141-dfe8924f3420.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,4795ce5a-c373-4e69-9141-dfe8924f3420.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=4795ce5a-c373-4e69-9141-dfe8924f3420</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sometimes you just want to do this
</p>
        <p>
          <em>update foo set bar=123 order by foo.lastmodifiedtimestamp</em>
        </p>
        <p>
Why.... well you may rely on the order of the timestamp.
</p>
        <p>
It's suprprisingly hard to do but is possible using CTEs.
</p>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">
            <p>
WITH
</p>
          </font>
        </font>
        <font color="#000000" size="2"> InvoicesNumbered </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">AS
</font>
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">
            <p>
(
</p>
          </font>
        </font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">SELECT</font>
        </font>
        <font size="2">
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">*,</font>
        </font>
        <font size="2">
        </font>
        <font color="#ff00ff" size="2">
          <font color="#ff00ff" size="2">ROW_NUMBER</font>
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">()</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">OVER</font>
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">(</font>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">ORDER</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">BY</font>
        </font>
        <font size="2"> LastModifiedTimestamp </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">desc</font>
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">)</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">AS</font>
        </font>
        <font size="2"> RowNum
<p></p></font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">FROM</font>
        </font>
        <font size="2"> Invoice
</font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">
            <p>
)
</p>
          </font>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">
            <p>
UPDATE
</p>
          </font>
        </font>
        <font size="2">
          <font color="#000000"> InvoicesNumbered </font>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">
            <p>
set
</p>
          </font>
        </font>
        <font color="#000000" size="2"> createdby </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">=</font>
        </font>
        <font size="2">
          <font color="#000000">
          </font>
        </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">
            <p>
(
</p>
          </font>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">select</font>
        </font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">top</font>
        </font>
        <font color="#000000" size="2"> 1
userID </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">from</font>
        </font>
        <font color="#000000" size="2"> [user] </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">where</font>
        </font>
        <font color="#000000" size="2"> clientid </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">=</font>
        </font>
        <font color="#000000" size="2"> InvoicesNumbered </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">.</font>
        </font>
        <font color="#000000" size="2">invoiceclientid</font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">)
</font>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">
            <p>
WHERE
</p>
          </font>
        </font>
        <font color="#000000" size="2"> RowNum </font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">&lt;</font>
        </font>
        <font color="#000000" size="2"> 20000</font>
        <font color="#808080" size="2">
          <font color="#808080" size="2">;
--Use a number larger than the row count of the table.</font>
        </font>
        <p>
          <font color="#808080" size="2">
            <font color="#808080" size="2">Idea pinched from <a href="http://www.sqlmag.com/Article/ArticleID/49240/sql_server_49240.html">here</a>.
Reposted in search of better Live Search ranking for the obvious search query 'controlling
update order in SQL Server'
</font>
          </font>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4795ce5a-c373-4e69-9141-dfe8924f3420" />
      </body>
      <title>Controlling the update order in T-SQL on SQL Server 2005</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,4795ce5a-c373-4e69-9141-dfe8924f3420.aspx</guid>
      <link>http://www.syringe.net.nz/2008/07/08/ControllingTheUpdateOrderInTSQLOnSQLServer2005.aspx</link>
      <pubDate>Tue, 08 Jul 2008 09:12:25 GMT</pubDate>
      <description>&lt;p&gt;
Sometimes you just want to do this
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;update foo set bar=123 order by foo.lastmodifiedtimestamp&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Why.... well you may rely on the order of the timestamp.
&lt;/p&gt;
&lt;p&gt;
It's suprprisingly hard to do but is possible using CTEs.
&lt;/p&gt;
&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
WITH
&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; InvoicesNumbered &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;AS&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt; 
&lt;p&gt;
(
&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;SELECT&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;*,&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff00ff size=2&gt;&lt;font color=#ff00ff size=2&gt;ROW_NUMBER&lt;/font&gt;&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;()&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;OVER&lt;/font&gt;&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;ORDER&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;BY&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; LastModifiedTimestamp &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;desc&lt;/font&gt;&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;AS&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; RowNum&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;FROM&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; Invoice&gt;
&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt; 
&lt;p&gt;
)
&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
UPDATE
&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; InvoicesNumbered &lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
set
&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; createdby &lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; &lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt; 
&lt;p&gt;
(
&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;select&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;top&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; 1
userID &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;from&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; [user] &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;where&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; clientid &lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; InvoicesNumbered &lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt;invoiceclientid&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;)&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
WHERE
&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; RowNum &lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color=#000000 size=2&gt; 20000&lt;/font&gt;&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;;
--Use a number larger than the row count of the table.&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font color=#808080 size=2&gt;&lt;font color=#808080 size=2&gt;Idea pinched from &lt;a href="http://www.sqlmag.com/Article/ArticleID/49240/sql_server_49240.html"&gt;here&lt;/a&gt;.
Reposted in search of better Live Search ranking for the obvious search query 'controlling
update order in SQL Server'
&lt;/p&gt;
&gt;&gt;&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4795ce5a-c373-4e69-9141-dfe8924f3420" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,4795ce5a-c373-4e69-9141-dfe8924f3420.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">So in the move from Virtual Server 2005
R2 to Hyper-V we lost the Web management capability for the VM server.<br />
Hyper-V management is all MMC based.<br /><br />
This has +'s and -'s but plenty of people are going to miss the web UI.<br /><br />
My friend Sondre has kickstarted an Open Source project to build a Web UI using the
Virtualization WMI interfaces.<br /><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;"><br /><a href="http://www.codeplex.com/HVWM">http://www.codeplex.com/HVWM</a><br /><br />
Well worth taking a look. I'll be doing a bunch of new posts on Virtualization on
Hyper-V over the next few months as I build up my new Hyper-V box for <a href="http://www.medrecruit.com">http://www.medrecruit.com</a><br /></span><p></p><img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942" /></body>
      <title>Web Management for Hyper-V</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942.aspx</guid>
      <link>http://www.syringe.net.nz/2008/04/08/WebManagementForHyperV.aspx</link>
      <pubDate>Tue, 08 Apr 2008 15:34:35 GMT</pubDate>
      <description>So in the move from Virtual Server 2005 R2 to Hyper-V we lost the Web management capability for the VM server.&lt;br&gt;
Hyper-V management is all MMC based.&lt;br&gt;
&lt;br&gt;
This has +'s and -'s but plenty of people are going to miss the web UI.&lt;br&gt;
&lt;br&gt;
My friend Sondre has kickstarted an Open Source project to build a Web UI using the
Virtualization WMI interfaces.&lt;br&gt;
&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;
&lt;br&gt;
&lt;a href="http://www.codeplex.com/HVWM"&gt;http://www.codeplex.com/HVWM&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Well worth taking a look. I'll be doing a bunch of new posts on Virtualization on
Hyper-V over the next few months as I build up my new Hyper-V box for &lt;a href="http://www.medrecruit.com"&gt;http://www.medrecruit.com&lt;/a&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,df4f5cbd-25c4-4b5b-8bd3-aef74cf4a942.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=3f0615c0-f9ec-4fdc-927f-7fc53b962c2d</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,3f0615c0-f9ec-4fdc-927f-7fc53b962c2d.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,3f0615c0-f9ec-4fdc-927f-7fc53b962c2d.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=3f0615c0-f9ec-4fdc-927f-7fc53b962c2d</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Feel free to take a look at the comments to the <a href="http://www.syringe.net.nz/2008/02/18/HowFeasibleIsANonGPLODFImplementation.aspx">last
post</a> as this is a followup. You may want to ignore the snipey content devoid
comments from our friend in the NZOSS community.
</p>
        <p>
Herewith a follow up post that hopefully addresses the substantive questions that
were actually raised (thanks Stu)
</p>
        <p>
Sorry for the delay. I've been busy trying to get a high quality specification progressed
through the ISO standards process. Oh and I've also managed to get outside to
do some skiing in the Montana backcountry.
</p>
        <p>
          <img src="http://www.syringe.net.nz/content/binary/IMG_2981.jpg" border="0" />
        </p>
        <p>
The issue is that the GPL aims to enforce the distribution of any derived work under
the GPL also.
</p>
        <p>
I do not want to release my applications under the GPL and inparticular I do not want
to release any Open Source code I write under the GPL as I do not believe in the 'Copyleft'
philosophy to which it subscribes.
</p>
        <p>
Now that's fine. As a general rule I avoid GPL code like the plague (we do use LGPL
code in some of our products). In fact our contracts at Kognition included a clause
requireing neither party to the agreement to provide GPL code to the other.
</p>
        <p>
So the question then comes to can I implement ODF without having to derive my work
from any GPL based code.<br />
My feeling is that even looking at the code for say OpenOffice will get me into trouble.<br />
Likewise decompiling the code will be problematic.
</p>
        <p>
I am actually comfortable reverse engineering by observation for features like 'blink',
I do not believe that is going to breach copyright in the work.
</p>
        <p>
But the question is, will reverse engineering by observation be sufficient. And to
be honest I just don't know the answer to that question. I don't really see myself
spending that much time working with ODF as I tend to agree with <a href="http://www.burtongroup.com/Guest/Ccs/WhatsUpDoc.aspx">The
Burton Report</a> as to its likely levels of adoption and indeed the likely market
segments to adopt it- selling software to people who are philosophically opposed to
paying for software is unlikely to be a sustainable business. That said I did find
a very interesting bit of commentary on the web about just this problem quite recently.
</p>
        <p>
          <a href="http://www.gnome.org/projects/gnumeric/announcements/1.8/gnumeric-1.8.shtml">http://www.gnome.org/projects/gnumeric/announcements/1.8/gnumeric-1.8.shtml</a>
        </p>
        <p>
"The Gnumeric team does not envision using the OpenDocument Format as its native format.
</p>
        <p>
The spreadsheet part of ODF, in its current form, is ill defined and has many, many
problems. For example: (1) there is no meaningful discussion of what functions a spreadsheet
should support and what they should do. Without that, there is little point in trying
to move a spreadsheet from one program to another; (2) there is no provision for sharing
formulas between cells; (3) there is no implementation -- writing an ODF exporter
consists of reverse-engineering OpenOffice to see what parts of the standard it can
handle. (Note: the preceding comments relate to the spreadsheet part of ODF only;
we do not have an informed opinion on ODF for word processing documents, for example.)
</p>
        <p>
We may revisit this decision in the future, should the situation improve. In the meantime,
we will strive to maintain a reasonable importer and exporter."
</p>
        <p>
Those guys look to have actually broached the problem and to be honest that kinda
answers my question. If I can't realisitically use ODF without reverse-engineering
OpenOffice then I'm pretty much stuffed in terms of writing a GPL free implementation.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=3f0615c0-f9ec-4fdc-927f-7fc53b962c2d" />
      </body>
      <title>Non GPL Implementation of ODF Not Very Feasible At All</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,3f0615c0-f9ec-4fdc-927f-7fc53b962c2d.aspx</guid>
      <link>http://www.syringe.net.nz/2008/02/28/NonGPLImplementationOfODFNotVeryFeasibleAtAll.aspx</link>
      <pubDate>Thu, 28 Feb 2008 22:56:12 GMT</pubDate>
      <description>&lt;p&gt;
Feel free to take a look at the comments to the &lt;a href="http://www.syringe.net.nz/2008/02/18/HowFeasibleIsANonGPLODFImplementation.aspx"&gt;last
post&lt;/a&gt;&amp;nbsp;as this is a followup. You may want to ignore the snipey content devoid
comments from our friend in the NZOSS community.
&lt;/p&gt;
&lt;p&gt;
Herewith a follow up post that hopefully addresses the substantive questions that
were actually raised (thanks Stu)
&lt;/p&gt;
&lt;p&gt;
Sorry for the delay. I've been busy trying to get a high quality specification progressed
through the ISO standards process. Oh and I've also managed to get&amp;nbsp;outside&amp;nbsp;to
do some skiing in the Montana backcountry.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.syringe.net.nz/content/binary/IMG_2981.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The issue is that the GPL aims to enforce the distribution of any derived work under
the GPL also.
&lt;/p&gt;
&lt;p&gt;
I do not want to release my applications under the GPL and inparticular I do not want
to release any Open Source code I write under the GPL as I do not believe in the 'Copyleft'
philosophy to which it subscribes.
&lt;/p&gt;
&lt;p&gt;
Now that's fine. As a general rule I avoid GPL code like the plague (we do use LGPL
code in some of our products). In fact our contracts at Kognition included a clause
requireing neither party to the agreement to provide GPL code to the other.
&lt;/p&gt;
&lt;p&gt;
So the question then comes to can I implement ODF without having to derive my work
from any GPL based code.&lt;br&gt;
My feeling is that even looking at the code for say OpenOffice will get me into trouble.&lt;br&gt;
Likewise decompiling the code will be problematic.
&lt;/p&gt;
&lt;p&gt;
I am actually comfortable reverse engineering by observation for features like 'blink',
I do not believe that is going to breach copyright in the work.
&lt;/p&gt;
&lt;p&gt;
But the question is, will reverse engineering by observation be sufficient. And to
be honest I just don't know the answer to that question. I don't really see myself
spending that much time working with ODF as I tend to agree with &lt;a href="http://www.burtongroup.com/Guest/Ccs/WhatsUpDoc.aspx"&gt;The
Burton Report&lt;/a&gt; as to its likely levels of adoption and indeed the likely market
segments to adopt it- selling software to people who are philosophically opposed to
paying for software is unlikely to be a sustainable business. That said I did find
a very interesting bit of commentary on the web about just this problem quite recently.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.gnome.org/projects/gnumeric/announcements/1.8/gnumeric-1.8.shtml"&gt;http://www.gnome.org/projects/gnumeric/announcements/1.8/gnumeric-1.8.shtml&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
"The Gnumeric team does not envision using the OpenDocument Format as its native format.
&lt;/p&gt;
&lt;p&gt;
The spreadsheet part of ODF, in its current form, is ill defined and has many, many
problems. For example: (1) there is no meaningful discussion of what functions a spreadsheet
should support and what they should do. Without that, there is little point in trying
to move a spreadsheet from one program to another; (2) there is no provision for sharing
formulas between cells; (3) there is no implementation -- writing an ODF exporter
consists of reverse-engineering OpenOffice to see what parts of the standard it can
handle. (Note: the preceding comments relate to the spreadsheet part of ODF only;
we do not have an informed opinion on ODF for word processing documents, for example.)
&lt;/p&gt;
&lt;p&gt;
We may revisit this decision in the future, should the situation improve. In the meantime,
we will strive to maintain a reasonable importer and exporter."
&lt;/p&gt;
&lt;p&gt;
Those guys look to have actually broached the problem and to be honest that kinda
answers my question. If I can't realisitically use ODF without reverse-engineering
OpenOffice then I'm pretty much stuffed in terms of writing a GPL free implementation.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=3f0615c0-f9ec-4fdc-927f-7fc53b962c2d" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,3f0615c0-f9ec-4fdc-927f-7fc53b962c2d.aspx</comments>
      <category>.NET</category>
      <category>Adventure Sports</category>
      <category>PoliTechLaw</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=ded767e9-260c-42d4-98c5-d5ed8b27d1ea</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,ded767e9-260c-42d4-98c5-d5ed8b27d1ea.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,ded767e9-260c-42d4-98c5-d5ed8b27d1ea.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=ded767e9-260c-42d4-98c5-d5ed8b27d1ea</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://turtle.net.nz/blog/post/SummerRoadTrip2008">JB</a>, <a href="http://blogs.msdn.com/darrylburling/archive/2007/12/10/2008-summer-road-trip-register-now.aspx">Darryl</a> and
myself are doing a big road trip around New Zeaand in February showing off some of
the great new bits that are shipping this year.
</p>
        <p>
We're going to build and deploy a full blown application live on stage. And we're
not talking about some basic console application here... this thing is going to be
as mission ready as we can do in two hours! In particular it's going to be hosted
across a pair of clustered virtual servers- it's basically the sort of setup that
we'd be happy to pick up and drop into the <a href="http://www.intergen.co.nz">Intergen</a><a href="http://www.intergen.co.nz/Upload/2081/Smarts%20Issue%2013%20web.pdf">Data
Center</a>.
</p>
        <p>
Some of the things we'll be showing off...
</p>
        <ul>
          <li>
Live mapping</li>
          <li>
AJAX Enabled WCF calls</li>
          <li>
Virtualization with Windows Server 2008</li>
          <li>
IIS7</li>
          <li>
Powershell Scripting for data center and VM administration</li>
          <li>
ADO.NET Entities</li>
          <li>
Spatial Queries with SQL 2008</li>
          <li>
Mirroring with SQL 2008</li>
        </ul>
        <p>
... and a whole lot of other cool things.
</p>
        <p>
I don't want to give the game away yet and tell you what we're building, but, I'll
give you a clue.....
</p>
        <p>
You'll be able to keep an eye on where the three Amigos are going Mountain Biking
and Whitewater Kayaking and Rafting and Skydiving and things as we make our way around
the country.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ded767e9-260c-42d4-98c5-d5ed8b27d1ea" />
      </body>
      <title>We're all going on a summer holiday.... well kinda</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,ded767e9-260c-42d4-98c5-d5ed8b27d1ea.aspx</guid>
      <link>http://www.syringe.net.nz/2007/12/10/WereAllGoingOnASummerHolidayWellKinda.aspx</link>
      <pubDate>Mon, 10 Dec 2007 23:04:28 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://turtle.net.nz/blog/post/SummerRoadTrip2008"&gt;JB&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/darrylburling/archive/2007/12/10/2008-summer-road-trip-register-now.aspx"&gt;Darryl&lt;/a&gt; and
myself are doing a big road trip around New Zeaand in February showing off some of
the great new bits that are shipping this year.
&lt;/p&gt;
&lt;p&gt;
We're going to build and deploy a full blown application live on stage. And we're
not talking about some basic console application here... this thing is going to be
as mission ready as we can do in two hours! In particular it's going to be hosted
across a pair of clustered virtual servers- it's basically the sort of setup that
we'd be happy to pick up and drop into the &lt;a href="http://www.intergen.co.nz"&gt;Intergen&lt;/a&gt; &lt;a href="http://www.intergen.co.nz/Upload/2081/Smarts%20Issue%2013%20web.pdf"&gt;Data
Center&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Some of the things we'll be showing off...
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Live mapping&lt;/li&gt;
&lt;li&gt;
AJAX Enabled WCF calls&lt;/li&gt;
&lt;li&gt;
Virtualization with Windows Server 2008&lt;/li&gt;
&lt;li&gt;
IIS7&lt;/li&gt;
&lt;li&gt;
Powershell Scripting for data center and VM administration&lt;/li&gt;
&lt;li&gt;
ADO.NET Entities&lt;/li&gt;
&lt;li&gt;
Spatial Queries with SQL 2008&lt;/li&gt;
&lt;li&gt;
Mirroring with SQL 2008&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
... and a whole lot of other cool things.
&lt;/p&gt;
&lt;p&gt;
I don't want to give the game away yet and tell you what we're building, but, I'll
give you a clue.....
&lt;/p&gt;
&lt;p&gt;
You'll be able to keep an eye on where the three Amigos are going Mountain Biking
and Whitewater Kayaking and Rafting and Skydiving and things as we make our way around
the country.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ded767e9-260c-42d4-98c5-d5ed8b27d1ea" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,ded767e9-260c-42d4-98c5-d5ed8b27d1ea.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=07f527af-2f50-4544-a8ae-e7cf3666c9f3</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,07f527af-2f50-4544-a8ae-e7cf3666c9f3.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,07f527af-2f50-4544-a8ae-e7cf3666c9f3.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=07f527af-2f50-4544-a8ae-e7cf3666c9f3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thought I'd chunk a quick note up here about a cool sample we built recently.
</p>
        <p>
It shows off using .NET to put together <a href="http://en.wikipedia.org/wiki/Office_Open_XML">Office
Open XML</a> documents (ECMA 376).
</p>
        <p>
It can pull odwn your IIS log files and process these into things like spreadsheets.
</p>
        <p>
It shows just how easy it is to build up office documents as XML.
</p>
        <p>
          <a href="http://www.codeplex.com/IISAnalyzer">http://www.codeplex.com/IISAnalyzer</a>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=07f527af-2f50-4544-a8ae-e7cf3666c9f3" />
      </body>
      <title>IIS Log Analyzer - OOXML Sample</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,07f527af-2f50-4544-a8ae-e7cf3666c9f3.aspx</guid>
      <link>http://www.syringe.net.nz/2007/11/01/IISLogAnalyzerOOXMLSample.aspx</link>
      <pubDate>Thu, 01 Nov 2007 22:40:42 GMT</pubDate>
      <description>&lt;p&gt;
Thought I'd chunk a quick note up here about a cool sample we built recently.
&lt;/p&gt;
&lt;p&gt;
It shows off using .NET to put together &lt;a href="http://en.wikipedia.org/wiki/Office_Open_XML"&gt;Office
Open XML&lt;/a&gt;&amp;nbsp;documents (ECMA 376).
&lt;/p&gt;
&lt;p&gt;
It can pull odwn your IIS log files and process these into things like spreadsheets.
&lt;/p&gt;
&lt;p&gt;
It shows just how easy it is to build up office documents as XML.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/IISAnalyzer"&gt;http://www.codeplex.com/IISAnalyzer&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=07f527af-2f50-4544-a8ae-e7cf3666c9f3" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,07f527af-2f50-4544-a8ae-e7cf3666c9f3.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
ScottGu has just <a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx">blogged</a> about
the fact they they are making the source to the .NET Framework available so that you
can step into it from your debugger.
</p>
        <p>
          <a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx">http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx</a>
        </p>
        <p>
I just love it how he and his team just stick this sorta cool stuff on their Blogs
rather than going theough marketing (and LCA???)
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a" />
      </body>
      <title>Step Into The .NET Framework</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a.aspx</guid>
      <link>http://www.syringe.net.nz/2007/10/03/StepIntoTheNETFramework.aspx</link>
      <pubDate>Wed, 03 Oct 2007 22:14:10 GMT</pubDate>
      <description>&lt;p&gt;
ScottGu has just &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;blogged&lt;/a&gt;&amp;nbsp;about
the fact they they are making the source to the .NET Framework available so that you
can step into it from your debugger.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I just love it how he and his team just stick this sorta cool stuff on their Blogs
rather than going theough marketing (and LCA???)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,98b5e137-7a3e-4bb8-9cfc-e8ac87ffb48a.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=73fee838-1320-4015-abc0-1b5aadfce8e7</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,73fee838-1320-4015-abc0-1b5aadfce8e7.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,73fee838-1320-4015-abc0-1b5aadfce8e7.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=73fee838-1320-4015-abc0-1b5aadfce8e7</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This was originally posted by meon our <a href="http://www.intergen.co.nz/Blog/">Intergen
Company Blog</a>. Reposted here for completeness.
</p>
        <p>
Service Oriented Architecture: everyone is still talking about it. Recently there
was a bit of a blog-o-thread happening among a bunch of US analysts about Microsoft’s
SOA strategy. I refer in particular to articles by <a href="http://www.itbusinessedge.com/blogs/mia/wp-trackback.php?p=214" orgurl="http://www.itbusinessedge.com/blogs/mia/?p=214">Lorraine
Lawson at IT Business Edge</a> and <a href="http://blogs.zdnet.com/Gardner/?p=2547" orgurl="http://blogs.zdnet.com/Gardner/?=2515">Dana
Gardner at ZDNet</a>.
</p>
        <p>
          <br />
Gardner is right when he says ‘SOA is a style and conceptual computing framework,
not a reason to upgrade.’ Yet, maybe through lack of time at the coalface, he thinks
that massive upgrades are required to put this framework in place. The answer couldn’t
be further from the truth. The vision of SOA, that is systems demarcating themselves
into atomic reusable services accessible by explicitly defined interfaces and open
protocols, is easily implementable in the old faithful .NET 1.0 of several years ago.
Sure you may not be able to pass transaction scope across interface boundaries or
rely on non-transport level message delivery guarantees, but if people are required
to upgrade in pursuit of these features then it must surely be called for what it
is - the evolution and maturation of the entire SOA ecosystem - there were no vendors
offering this six years ago, <u>let alone Microsoft</u>.
</p>
        <p>
          <br />
Even among its chief critics, Microsoft is considered a key initiator and implementer
of the broad set of  <a href="http://en.wikipedia.org/wiki/List_of_Web_Service_Specifications" orgurl="http://en.wikipedia.org/wiki/List_of_Web_Service_Specifications">WS-*
standards</a>. The irony of the criticism levelled at Microsoft in the above articles
is that, unlike the other vendors mentioned, the Microsoft stack does not require
expensive application servers (beyond the operating system and the cost of that pales
against say WebSphere) to actually make the conceptual framework of SOA a concrete
reality.
</p>
        <p>
          <br />
Criticism is levelled at the Connected Systems Division vision of agility in SOA applications.
Having seen the future, to an extent, this is somewhere that I think shows great promise.
It’s arguable whether we’ll actually be able to compartmentalize enterprise applications
much longer. Increasingly I see organisations where our approach, even in relation
to users on the ground, is about surfacing features out of a broader IT ecosystem
within the organisation.  The future of IT agility will centre on the recombination
of existing services and function more than it will the creation of new ones.
</p>
        <p>
          <br />
Lawson’s focus is a lot closer to the coal face. However twice in her post she notes
some association between what she calls ‘Open Code’ and SOA. For example:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
              <br />
              <em>“I think what’s confusing matters is Microsoft’s inability, thus far, to reconcile
SOA’s demands for open code and standards with a business model that’s thrived on
proprietary solutions.”</em>
            </p>
          </blockquote>
        </blockquote>
        <p>
          <br />
This could not be further from the truth. While SOA certainly demands Open Standards
it most explicitly frees us from the need to have ‘Open Code’. By making the boundaries
of the application explicit and well described we are freed from knowing anything
of their internal workings - if communication with a service requires us to see the
‘Open Code’ then we have surely failed. The SOA landscape and vision is very much
one of highly optimised proprietary systems communicating by way of poorly optimised,
but open, protocols. As Microsoft moves from a Desktop and Operating Systems company
to being a broader vendor of both those tools and more vertically focused platforms
it is inevitable that those teams, at the very least, will see the value in exposing
their revenue generating applications for use by other vendors platforms. To ignore
the need to have Sharepoint Server or Microsoft CRM participate in a broader Serviced
ecosystem is to ignore a good portion of the market who don’t buy into the Windows
Everywhere vision.
</p>
        <p>
          <br />
While analysts in glass towers gaze at their Service Oriented Navels, there are a
good chunk of us out in the world making at least part of their utopian vision a reality.
They would do well to talk amongst us in addition to themselves every once in a while.<br /></p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=73fee838-1320-4015-abc0-1b5aadfce8e7" />
      </body>
      <title>Debunking the Analysts on Microsoft SOA Strategy</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,73fee838-1320-4015-abc0-1b5aadfce8e7.aspx</guid>
      <link>http://www.syringe.net.nz/2007/09/26/DebunkingTheAnalystsOnMicrosoftSOAStrategy.aspx</link>
      <pubDate>Wed, 26 Sep 2007 03:27:51 GMT</pubDate>
      <description>&lt;p&gt;
This was originally posted by meon our &lt;a href="http://www.intergen.co.nz/Blog/"&gt;Intergen
Company Blog&lt;/a&gt;. Reposted here for completeness.
&lt;/p&gt;
&lt;p&gt;
Service Oriented Architecture: everyone is still talking about it. Recently there
was a bit of a blog-o-thread happening among a bunch of US analysts about Microsoft’s
SOA strategy. I refer in particular to articles by &lt;a href="http://www.itbusinessedge.com/blogs/mia/wp-trackback.php?p=214" orgurl="http://www.itbusinessedge.com/blogs/mia/?p=214"&gt;Lorraine
Lawson at IT Business Edge&lt;/a&gt; and &lt;a href="http://blogs.zdnet.com/Gardner/?p=2547" orgurl="http://blogs.zdnet.com/Gardner/?=2515"&gt;Dana
Gardner at ZDNet&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Gardner is right when he says ‘SOA is a style and conceptual computing framework,
not a reason to upgrade.’ Yet, maybe through lack of time at the coalface, he thinks
that massive upgrades are required to put this framework in place. The answer couldn’t
be further from the truth. The vision of SOA, that is systems demarcating themselves
into atomic reusable services accessible by explicitly defined interfaces and open
protocols, is easily implementable in the old faithful .NET 1.0 of several years ago.
Sure you may not be able to pass transaction scope across interface boundaries or
rely on non-transport level message delivery guarantees, but if people are required
to upgrade in pursuit of these features then it must surely be called for what it
is - the evolution and maturation of the entire SOA ecosystem - there were no vendors
offering this&amp;nbsp;six years ago, &lt;u&gt;let alone Microsoft&lt;/u&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Even among its chief critics, Microsoft is considered a key initiator and implementer
of the broad set of&amp;nbsp; &lt;a href="http://en.wikipedia.org/wiki/List_of_Web_Service_Specifications" orgurl="http://en.wikipedia.org/wiki/List_of_Web_Service_Specifications"&gt;WS-*
standards&lt;/a&gt;. The irony of the criticism levelled at Microsoft in the above articles
is that, unlike the other vendors mentioned, the Microsoft stack does not require
expensive application servers (beyond the operating system and the cost of that pales
against say WebSphere) to actually make the conceptual framework of SOA a concrete
reality.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Criticism is levelled at the Connected Systems Division vision of agility in SOA applications.
Having seen the future, to an extent, this is somewhere that I think shows great promise.
It’s arguable whether we’ll actually be able to compartmentalize enterprise applications
much longer. Increasingly I see organisations where our approach, even in relation
to users on the ground, is about surfacing features out of a broader IT ecosystem
within the organisation.&amp;nbsp; The future of IT agility will centre on the recombination
of existing services and function more than it will the creation of new ones.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Lawson’s focus is a lot closer to the coal face. However twice in her post she notes
some association between what she calls ‘Open Code’ and SOA. For example:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; &lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;br&gt;
&lt;em&gt;“I think what’s confusing matters is Microsoft’s inability, thus far, to reconcile
SOA’s demands for open code and standards with a business model that’s thrived on
proprietary solutions.”&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt; 
&lt;p&gt;
&lt;br&gt;
This could not be further from the truth. While SOA certainly demands Open Standards
it most explicitly frees us from the need to have ‘Open Code’. By making the boundaries
of the application explicit and well described we are freed from knowing anything
of their internal workings - if communication with a service requires us to see the
‘Open Code’ then we have surely failed. The SOA landscape and vision is very much
one of highly optimised proprietary systems communicating by way of poorly optimised,
but open, protocols. As Microsoft moves from a Desktop and Operating Systems company
to being a broader vendor of both those tools and more vertically focused platforms
it is inevitable that those teams, at the very least, will see the value in exposing
their revenue generating applications for use by other vendors platforms. To ignore
the need to have Sharepoint Server or Microsoft CRM participate in a broader Serviced
ecosystem is to ignore a good portion of the market who don’t buy into the Windows
Everywhere vision.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
While analysts in glass towers gaze at their Service Oriented Navels, there are a
good chunk of us out in the world making at least part of their utopian vision a reality.
They would do well to talk amongst us in addition to themselves every once in a while.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=73fee838-1320-4015-abc0-1b5aadfce8e7" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,73fee838-1320-4015-abc0-1b5aadfce8e7.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=5cb047db-493a-422b-9ed2-e5e7325beafd</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,5cb047db-493a-422b-9ed2-e5e7325beafd.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,5cb047db-493a-422b-9ed2-e5e7325beafd.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=5cb047db-493a-422b-9ed2-e5e7325beafd</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm a huge fan of the Vista search box.
</p>
        <p>
Press the Windows Key -&gt; Type What You Want -&gt; Hit Enter
</p>
        <p>
Wham... no moe mousing around.
</p>
        <p>
Just got a hot tip from <a href="http://www.gregcons.com/kateblog/">Kate Gregory</a> that
pressing Ctrl-Shift-Enter runs the program 'As Administrator'
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=5cb047db-493a-422b-9ed2-e5e7325beafd" />
      </body>
      <title>Getting Admin from the Vista Search Box</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,5cb047db-493a-422b-9ed2-e5e7325beafd.aspx</guid>
      <link>http://www.syringe.net.nz/2007/09/12/GettingAdminFromTheVistaSearchBox.aspx</link>
      <pubDate>Wed, 12 Sep 2007 21:28:04 GMT</pubDate>
      <description>&lt;p&gt;
I'm a huge fan of the Vista search box.
&lt;/p&gt;
&lt;p&gt;
Press the Windows Key -&amp;gt; Type What You Want -&amp;gt; Hit Enter
&lt;/p&gt;
&lt;p&gt;
Wham... no moe mousing around.
&lt;/p&gt;
&lt;p&gt;
Just got a hot tip from &lt;a href="http://www.gregcons.com/kateblog/"&gt;Kate Gregory&lt;/a&gt;&amp;nbsp;that
pressing Ctrl-Shift-Enter runs the program 'As Administrator'
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=5cb047db-493a-422b-9ed2-e5e7325beafd" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,5cb047db-493a-422b-9ed2-e5e7325beafd.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=b3f24e66-b920-40bf-a272-d62f14dba168</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,b3f24e66-b920-40bf-a272-d62f14dba168.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,b3f24e66-b920-40bf-a272-d62f14dba168.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=b3f24e66-b920-40bf-a272-d62f14dba168</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Press release <a href="http://www.microsoft.com/presspass/press/2007/sep07/09-04SilverlightPR.mspx">here</a></p>
        <p>
Big news is that Microsoft and Novell are tag teaming to take the Mono Moonlight project
forward- thus Silverlight on Linux.
</p>
        <p>
One of the team @ Intergen, <a href="http://james.newtonking.com/default.aspx">James
Newton-King</a> has some source code in the <a href="http://www.mono-project.com/Moonlight">Moonlight</a> tree
himself....
</p>
        <p>
In fact James has just released a new verion of his <a href="http://james.newtonking.com/archive/2007/09/08/json-net-1-3-new-license-now-on-codeplex.aspx">JSON.Net
library</a></p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b3f24e66-b920-40bf-a272-d62f14dba168" />
      </body>
      <title>Silverlight 1.0 Ships.... Linux support coming.</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,b3f24e66-b920-40bf-a272-d62f14dba168.aspx</guid>
      <link>http://www.syringe.net.nz/2007/09/10/Silverlight10ShipsLinuxSupportComing.aspx</link>
      <pubDate>Mon, 10 Sep 2007 05:36:17 GMT</pubDate>
      <description>&lt;p&gt;
Press release &lt;a href="http://www.microsoft.com/presspass/press/2007/sep07/09-04SilverlightPR.mspx"&gt;here&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Big news is that Microsoft and Novell are tag teaming to take the Mono Moonlight project
forward- thus Silverlight on Linux.
&lt;/p&gt;
&lt;p&gt;
One of the team @ Intergen, &lt;a href="http://james.newtonking.com/default.aspx"&gt;James
Newton-King&lt;/a&gt;&amp;nbsp;has some source code in the &lt;a href="http://www.mono-project.com/Moonlight"&gt;Moonlight&lt;/a&gt; tree
himself....
&lt;/p&gt;
&lt;p&gt;
In fact James has just released a new verion of his &lt;a href="http://james.newtonking.com/archive/2007/09/08/json-net-1-3-new-license-now-on-codeplex.aspx"&gt;JSON.Net
library&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b3f24e66-b920-40bf-a272-d62f14dba168" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,b3f24e66-b920-40bf-a272-d62f14dba168.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=3d258383-7b94-4f98-94fb-25ea2028602a</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,3d258383-7b94-4f98-94fb-25ea2028602a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,3d258383-7b94-4f98-94fb-25ea2028602a.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=3d258383-7b94-4f98-94fb-25ea2028602a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The team @ Intergen (Simon 'Skip' Gardiner of Kognition fame was the project lead) have
been beavering away recently on an Open Source application for parsing and reporting
on IIS log files.
</p>
        <p>
It's called IIS Log Analyzer and it shows how easy it is to use the Office Open XML
file formats to do document generation.
</p>
        <p>
While the application is hosted inside Excel (by way of Visual Studio Tools for Office)
all the document generation is done with plain old XML generation and some help from
the .NET packaging APIs.
</p>
        <p>
OOXML really does open up a wealth of additional options for doing document generation
really easily.
</p>
        <p>
Check it out here:
</p>
        <p>
          <a href="http://www.codeplex.com/IISAnalyzer">http://www.codeplex.com/IISAnalyzer</a>
          <br />
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=3d258383-7b94-4f98-94fb-25ea2028602a" />
      </body>
      <title>IIS Log Analyzer - An Office Open XML Example</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,3d258383-7b94-4f98-94fb-25ea2028602a.aspx</guid>
      <link>http://www.syringe.net.nz/2007/09/09/IISLogAnalyzerAnOfficeOpenXMLExample.aspx</link>
      <pubDate>Sun, 09 Sep 2007 03:28:08 GMT</pubDate>
      <description>&lt;p&gt;
The team @ Intergen (Simon 'Skip' Gardiner of Kognition fame was the project lead)&amp;nbsp;have
been beavering away recently on an Open Source application for parsing and reporting
on IIS log files.
&lt;/p&gt;
&lt;p&gt;
It's called IIS Log Analyzer and it shows how easy it is to use the Office Open XML
file formats to do document generation.
&lt;/p&gt;
&lt;p&gt;
While the application is hosted inside Excel (by way of Visual Studio Tools for Office)
all the document generation is done with plain old XML generation and some help from
the .NET packaging APIs.
&lt;/p&gt;
&lt;p&gt;
OOXML really does open up a wealth of additional options for doing document generation
really easily.
&lt;/p&gt;
&lt;p&gt;
Check it out here:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codeplex.com/IISAnalyzer"&gt;http://www.codeplex.com/IISAnalyzer&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=3d258383-7b94-4f98-94fb-25ea2028602a" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,3d258383-7b94-4f98-94fb-25ea2028602a.aspx</comments>
      <category>.NET</category>
      <category>Intergen</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=37511116-d28e-436e-b0ce-1e1e8c6cc484</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,37511116-d28e-436e-b0ce-1e1e8c6cc484.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,37511116-d28e-436e-b0ce-1e1e8c6cc484.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=37511116-d28e-436e-b0ce-1e1e8c6cc484</wfw:commentRss>
      <title>Ful WCF vs .NET Compact Framework WCF</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,37511116-d28e-436e-b0ce-1e1e8c6cc484.aspx</guid>
      <link>http://www.syringe.net.nz/2007/08/20/FulWCFVsNETCompactFrameworkWCF.aspx</link>
      <pubDate>Mon, 20 Aug 2007 23:34:20 GMT</pubDate>
      <description>&lt;p&gt;
Here's a useful table that compares desktop with mobile for WCF work.
&lt;/p&gt;
&lt;p&gt;
&lt;table class=MsoNormalTable style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 0cm 0cm 0cm" cellspacing=0 cellpadding=0 border=0&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Feature&lt;b&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Desktop WCF&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #9bbb59 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Compact WCF&lt;b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Bindings:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;BasicHttpBinding&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;CustomBinding&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;WindowsMobileMailBinding&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 5"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;ExchangeWebServiceMailBinding&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes, via NetCF install&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 6"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Formatters:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 7"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;SoapFormatter&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 8"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;BinaryFormatter&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 9"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Encoders:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 10"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;TextMessageEncoder&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 11"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;BinaryMessageEncodingBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 12"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;MTOMEncoder&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 13"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;GzipEncoder&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Sample available&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 14"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Transports:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 15"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;HttpTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 16"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;HttpsTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 17"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;MailTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes, via NetCF install&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 18"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;MsmqTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 19"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;TcpTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 20"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 21"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;XmlDictionaryReader/Writer&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes; stub around XmlTextReader/Writer&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 22"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;DataContractSerializer&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No; but can be wire-compatible with
DCS via XmlSerializer&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 23"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Service proxy generation&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes; via SvcUtil.exe&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes; via NetCFSvcUtil.exe, not integrated
into VS2008&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 24"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Non-HTTP
transports&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 25"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Custom
headers&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 26"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;WS-Addressing&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 27"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;WS-Security message level security&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 28"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;X.509&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 29"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Username/password&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 30"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;WS-ReliableMessaging&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 31"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Patterns&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;
&lt;o:p&gt;
&lt;font face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 32"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Service
model&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 33"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Message
layer programming&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 34"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 72pt; TEXT-INDENT: -18pt; mso-list: l0 level2 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Buffered
messages&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 35"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 72pt; TEXT-INDENT: -18pt; mso-list: l0 level2 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Streaming
messages&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 36"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=330&gt;
&lt;p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;span style="COLOR: #76923c; FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#183;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Endpoint
descriptions in .config files&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 37; mso-yfti-lastrow: yes"&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 247.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid" valign=top width=330&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Extensibility&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 76.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid" valign=top width=102&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #e6eed5; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 162.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #9bbb59 1pt solid" valign=top width=216&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;
&lt;span style="COLOR: #76923c"&gt;&lt;font face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=37511116-d28e-436e-b0ce-1e1e8c6cc484" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,37511116-d28e-436e-b0ce-1e1e8c6cc484.aspx</comments>
      <category>.NET</category>
      <category>Mobility</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=6bd5f643-ca15-4bf8-804b-d85957bc72a4</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,6bd5f643-ca15-4bf8-804b-d85957bc72a4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,6bd5f643-ca15-4bf8-804b-d85957bc72a4.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=6bd5f643-ca15-4bf8-804b-d85957bc72a4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Say you've got some code with line numbers
</p>
        <p>
1: using System;<br />
2: using System.IO;
</p>
        <p>
...
</p>
        <p>
1430: else if (1==0)
</p>
        <p>
blah blah...
</p>
        <p>
 
</p>
        <p>
And you want to strip out the line numbers.
</p>
        <p>
This regex: ^[ 0-9]*\:
</p>
        <p>
will do it for you. THanks go to the new regex building in Orcas :-)
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=6bd5f643-ca15-4bf8-804b-d85957bc72a4" />
      </body>
      <title>Stripping Line Numbers from Code....</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,6bd5f643-ca15-4bf8-804b-d85957bc72a4.aspx</guid>
      <link>http://www.syringe.net.nz/2007/06/07/StrippingLineNumbersFromCode.aspx</link>
      <pubDate>Thu, 07 Jun 2007 06:03:04 GMT</pubDate>
      <description>&lt;p&gt;
Say you've got some code with line numbers
&lt;/p&gt;
&lt;p&gt;
1: using System;&lt;br&gt;
2: using System.IO;
&lt;/p&gt;
&lt;p&gt;
...
&lt;/p&gt;
&lt;p&gt;
1430: else if (1==0)
&lt;/p&gt;
&lt;p&gt;
blah blah...
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
And you want to strip out the line numbers.
&lt;/p&gt;
&lt;p&gt;
This regex: ^[ 0-9]*\:
&lt;/p&gt;
&lt;p&gt;
will do it for you. THanks go to the new regex building in Orcas :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=6bd5f643-ca15-4bf8-804b-d85957bc72a4" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,6bd5f643-ca15-4bf8-804b-d85957bc72a4.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=abad8c76-0f01-4042-b3fd-2945512bf3b3</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,abad8c76-0f01-4042-b3fd-2945512bf3b3.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,abad8c76-0f01-4042-b3fd-2945512bf3b3.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=abad8c76-0f01-4042-b3fd-2945512bf3b3</wfw:commentRss>
      <slash:comments>52</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx">http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx</a>
        </p>
        <p>
This is a great run through of some comparisons between Flash and Silverlight....
My hope is that Jesse can provide a bit more detail around Flex vs .NET 3.0 at some
point too....
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=abad8c76-0f01-4042-b3fd-2945512bf3b3" />
      </body>
      <title>Jesse Ezell on Flash vs Silverlight...</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,abad8c76-0f01-4042-b3fd-2945512bf3b3.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/06/JesseEzellOnFlashVsSilverlight.aspx</link>
      <pubDate>Sun, 06 May 2007 01:02:11 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx"&gt;http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This is a great run through of some comparisons between Flash and Silverlight....
My hope is that Jesse can provide a bit more detail around Flex vs .NET 3.0 at some
point too....
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=abad8c76-0f01-4042-b3fd-2945512bf3b3" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,abad8c76-0f01-4042-b3fd-2945512bf3b3.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=a1c780d1-6d72-4d46-8b69-c8dc3ba917d7</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,a1c780d1-6d72-4d46-8b69-c8dc3ba917d7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,a1c780d1-6d72-4d46-8b69-c8dc3ba917d7.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=a1c780d1-6d72-4d46-8b69-c8dc3ba917d7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So I'm looking to hire more talented designer/developers/UXEs... that is people who
have great design ability but are also able to think about the code impacts of their
designs- i.e. ho can we take that design and make it into great Silverlight/WPF and
AJAX experiences..... Ping me an email... <a href="mailto:chris@kognition.co.nz">chris@kognition.co.nz</a></p>
        <p>
If you're just a fantastic designer I'd love to talk too!
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=a1c780d1-6d72-4d46-8b69-c8dc3ba917d7" />
      </body>
      <title>Calling All User Experience eXperts- Come Design the Next Gen Internet</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,a1c780d1-6d72-4d46-8b69-c8dc3ba917d7.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/03/CallingAllUserExperienceEXpertsComeDesignTheNextGenInternet.aspx</link>
      <pubDate>Thu, 03 May 2007 18:59:53 GMT</pubDate>
      <description>&lt;p&gt;
So I'm looking to hire more talented designer/developers/UXEs... that is people who
have great design ability but are also able to think about the code impacts of their
designs- i.e. ho can we take that design and make it into great Silverlight/WPF and
AJAX experiences..... Ping me an email... &lt;a href="mailto:chris@kognition.co.nz"&gt;chris@kognition.co.nz&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
If you're just a fantastic designer I'd love to talk too!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=a1c780d1-6d72-4d46-8b69-c8dc3ba917d7" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,a1c780d1-6d72-4d46-8b69-c8dc3ba917d7.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=76966272-6f97-4cb1-960f-3dd56fab3cb6</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,76966272-6f97-4cb1-960f-3dd56fab3cb6.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,76966272-6f97-4cb1-960f-3dd56fab3cb6.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=76966272-6f97-4cb1-960f-3dd56fab3cb6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So URI based services are super popular right now. REST/POX etc...
</p>
        <p>
SOme great stuff coming in .NET 3.5 to do this really easily by basically allowing
URI based access into WCF services. Includes things like the ability to push back
raw binary data across the HTTP stream.
</p>
        <p>
This allows .NET developers to QUICKLY do 'Webby' style web services.
</p>
        <p>
All these bits are there to be played with in the Biztalk Services SDK. Basically
they have branched off a good chunk of the new .NET 3.5 Beta 2 bits and shipped them
in this SDK.
</p>
        <p>
The blog to watch on this is Steve Maine- he's the PM for Web Access features in WCF.
</p>
        <p>
          <a href="http://hyperthink.net/blog/">http://hyperthink.net/blog/</a>
        </p>
        <p>
There is more great stuff around this in the Biztalk Services SDK. Particularly ServiceModel.WebClient
namespace. This is basically client side stuff for easily accessing URI based content.
</p>
        <p>
SO the new web response has a generic GetBody method... so you can do 
</p>
        <pre>response.GetBody<MYXMLTYPE>
&lt;
</MYXMLTYPE></pre>
. At the moment the list of Types is bounded (any XML serializable type, stream, string,
SyndicationSerializable type)... it's easy to subclass the type and then override
GetBody&lt;&gt;<T>
. 
<p></p><p>
It's all just syntactic sugar across HttpWebRequest so it works very similar in terms
of resource usage (little) and auto prroxy config.
</p><img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=76966272-6f97-4cb1-960f-3dd56fab3cb6" /></T></body>
      <title>.NET 3.5 - WCF Support of URI Based Access</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,76966272-6f97-4cb1-960f-3dd56fab3cb6.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/03/NET35WCFSupportOfURIBasedAccess.aspx</link>
      <pubDate>Thu, 03 May 2007 17:26:23 GMT</pubDate>
      <description>&lt;p&gt;
So URI based services are super popular right now. REST/POX etc...
&lt;/p&gt;
&lt;p&gt;
SOme great stuff coming in .NET 3.5 to do this really easily by basically allowing
URI based access into WCF services. Includes things like the ability to push back
raw binary data across the HTTP stream.
&lt;/p&gt;
&lt;p&gt;
This allows .NET developers to QUICKLY do 'Webby' style web services.
&lt;/p&gt;
&lt;p&gt;
All these bits are there to be played with in the Biztalk Services SDK. Basically
they have branched off a good chunk of the new .NET 3.5 Beta 2 bits and shipped them
in this SDK.
&lt;/p&gt;
&lt;p&gt;
The blog to watch on this is Steve Maine- he's the PM for Web Access features in WCF.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://hyperthink.net/blog/"&gt;http://hyperthink.net/blog/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
There is more great stuff around this in the Biztalk Services SDK. Particularly ServiceModel.WebClient
namespace. This is basically client side stuff for easily accessing URI based content.
&lt;/p&gt;
&lt;p&gt;
SO the new web response has a generic GetBody method... so you can do &lt;pre&gt;response.GetBody&lt;MYXMLTYPE&gt;
&amp;lt;
&lt;/pre&gt;
. At the moment the list of Types is bounded (any XML serializable type, stream, string,
SyndicationSerializable type)... it's easy to subclass the type and then override
GetBody&amp;lt;&amp;gt;&lt;T&gt;
. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
It's all just syntactic sugar across HttpWebRequest so it works very similar in terms
of resource usage (little) and auto prroxy config.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=76966272-6f97-4cb1-960f-3dd56fab3cb6" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,76966272-6f97-4cb1-960f-3dd56fab3cb6.aspx</comments>
      <category>.NET</category>
      <category>Biztalk Services</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=105fbd8b-ca59-4049-8c6b-48e53993c7b8</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,105fbd8b-ca59-4049-8c6b-48e53993c7b8.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,105fbd8b-ca59-4049-8c6b-48e53993c7b8.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=105fbd8b-ca59-4049-8c6b-48e53993c7b8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just saw a cool piece of tooling that shipped with the BT Services CTP yesterday.
</p>
        <p>
It allows you to copy a piece of example XML to the clipboard.
</p>
        <p>
Then go <em>Edit &gt; Paste XML as Serializable Type</em></p>
        <p>
It then infers schema and does an xsd.exe all under the hoods and pastes
in a serializabl .NET type.
</p>
        <p>
It's a batch file in the tooling directory.
</p>
        <p>
So to get it RIGHT NOW go and grab the Biztalk Service SDK.
</p>
        <p>
This SDK is Biztalk in name only.... it's a far more broadly applicable to general
distributed .NET development.... This is definitely something you should be downloading
if you do WCF dev.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=105fbd8b-ca59-4049-8c6b-48e53993c7b8" />
      </body>
      <title>Biztalk Services - Cool Tools</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,105fbd8b-ca59-4049-8c6b-48e53993c7b8.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/03/BiztalkServicesCoolTools.aspx</link>
      <pubDate>Thu, 03 May 2007 17:20:40 GMT</pubDate>
      <description>&lt;p&gt;
Just saw a cool piece of tooling that shipped with the BT Services CTP yesterday.
&lt;/p&gt;
&lt;p&gt;
It allows you to copy a piece of example XML to the clipboard.
&lt;/p&gt;
&lt;p&gt;
Then go &lt;em&gt;Edit &amp;gt; Paste XML as Serializable Type&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
It then&amp;nbsp;infers schema and does an&amp;nbsp;xsd.exe all under the hoods and pastes
in a serializabl .NET type.
&lt;/p&gt;
&lt;p&gt;
It's a batch file in the tooling directory.
&lt;/p&gt;
&lt;p&gt;
So to get it RIGHT NOW go and grab the Biztalk Service SDK.
&lt;/p&gt;
&lt;p&gt;
This SDK is Biztalk in name only.... it's a far more broadly applicable to general
distributed .NET development.... This is definitely something you should be downloading
if you do WCF dev.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=105fbd8b-ca59-4049-8c6b-48e53993c7b8" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,105fbd8b-ca59-4049-8c6b-48e53993c7b8.aspx</comments>
      <category>.NET</category>
      <category>Biztalk Services</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=db43bd33-30dc-460d-8296-309debcfe69b</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,db43bd33-30dc-460d-8296-309debcfe69b.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,db43bd33-30dc-460d-8296-309debcfe69b.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=db43bd33-30dc-460d-8296-309debcfe69b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm in a Software Design Review around Biztalk Services and Web Programability. It's
being announced to us a s a small (about 15) group... and we're allowed to blog it...
</p>
        <p>
So I'll be blogging live :-) Updating this post....
</p>
        <p>
          <strong>Web Programability with Steve Maine</strong>
        </p>
        <p>
How can we program against the web.<br />
How do we wite programs such that they can be programmed as part of the web.
</p>
        <p>
Stuff that shipped already
</p>
        <p>
Stuff shipping in Orcas
</p>
        <p>
Stuff that is more experimental (some not blogable)
</p>
        <p>
Talking about processes to get an abstraction over URIs... effectivly URI templates
per Joe Gregorio.<br />
This is available in System.UriTemplate (Orcas bits)...
</p>
        <p>
Two directional abiliy to map name value pairs into and out of structured URLs.
</p>
        <p>
Still need to use HTTP andlers to process tis sort of stuff in IE.
</p>
        <p>
Orcas now has a [WebGet] attribute for WCF service operations and effectivly creates
a templated URI space for that operation.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=db43bd33-30dc-460d-8296-309debcfe69b" />
      </body>
      <title>Biztalk Services SDK</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,db43bd33-30dc-460d-8296-309debcfe69b.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/03/BiztalkServicesSDK.aspx</link>
      <pubDate>Thu, 03 May 2007 00:32:20 GMT</pubDate>
      <description>&lt;p&gt;
I'm in a Software Design Review around Biztalk Services and Web Programability. It's
being announced to us a s a small (about 15) group... and we're allowed to blog it...
&lt;/p&gt;
&lt;p&gt;
So I'll be blogging live :-) Updating this post....
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Web Programability with Steve Maine&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
How can we program against the web.&lt;br&gt;
How do we wite programs such that they can be programmed as part of the web.
&lt;/p&gt;
&lt;p&gt;
Stuff that shipped already
&lt;/p&gt;
&lt;p&gt;
Stuff shipping in Orcas
&lt;/p&gt;
&lt;p&gt;
Stuff that is more experimental (some not blogable)
&lt;/p&gt;
&lt;p&gt;
Talking about processes to get an abstraction over URIs... effectivly URI templates
per Joe Gregorio.&lt;br&gt;
This is available in System.UriTemplate (Orcas bits)...
&lt;/p&gt;
&lt;p&gt;
Two directional abiliy to map name value pairs into and out of structured URLs.
&lt;/p&gt;
&lt;p&gt;
Still need to use HTTP andlers to process tis sort of stuff in IE.
&lt;/p&gt;
&lt;p&gt;
Orcas now has a [WebGet] attribute for WCF service operations and effectivly creates
a templated URI space for that operation.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=db43bd33-30dc-460d-8296-309debcfe69b" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,db43bd33-30dc-460d-8296-309debcfe69b.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=9843e017-5824-4d54-a504-33c6cc4899d8</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,9843e017-5824-4d54-a504-33c6cc4899d8.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,9843e017-5824-4d54-a504-33c6cc4899d8.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=9843e017-5824-4d54-a504-33c6cc4899d8</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm in a Software Design Review around Biztalk Services and Web Programability. It's
being announced to us a s a small (about 15) group... and we're allowed to blog it...
</p>
        <p>
So I'll be blogging live :-) Updating this post....
</p>
        <p>
          <strong>Web Programability with Steve Maine</strong>
        </p>
        <p>
How can we program against the web.<br />
How do we wite programs such that they can be programmed as part of the web.
</p>
        <p>
Stuff that shipped already
</p>
        <p>
Stuff shipping in Orcas
</p>
        <p>
Stuff that is more experimental (some not blogable)
</p>
        <p>
Talking about processes to get an abstraction over URIs... effectivly URI templates
per Joe Gregorio.<br />
This is available in System.UriTemplate (Orcas bits)...
</p>
        <p>
Two directional abiliy to map name value pairs into and out of structured URLs.
</p>
        <p>
Still need to use HTTP andlers to process tis sort of stuff in IE
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=9843e017-5824-4d54-a504-33c6cc4899d8" />
      </body>
      <title>Biztalk Services SDK</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,9843e017-5824-4d54-a504-33c6cc4899d8.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/02/BiztalkServicesSDK.aspx</link>
      <pubDate>Wed, 02 May 2007 22:51:56 GMT</pubDate>
      <description>&lt;p&gt;
I'm in a Software Design Review around Biztalk Services and Web Programability. It's
being announced to us a s a small (about 15) group... and we're allowed to blog it...
&lt;/p&gt;
&lt;p&gt;
So I'll be blogging live :-) Updating this post....
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Web Programability with Steve Maine&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
How can we program against the web.&lt;br&gt;
How do we wite programs such that they can be programmed as part of the web.
&lt;/p&gt;
&lt;p&gt;
Stuff that shipped already
&lt;/p&gt;
&lt;p&gt;
Stuff shipping in Orcas
&lt;/p&gt;
&lt;p&gt;
Stuff that is more experimental (some not blogable)
&lt;/p&gt;
&lt;p&gt;
Talking about processes to get an abstraction over URIs... effectivly URI templates
per Joe Gregorio.&lt;br&gt;
This is available in System.UriTemplate (Orcas bits)...
&lt;/p&gt;
&lt;p&gt;
Two directional abiliy to map name value pairs into and out of structured URLs.
&lt;/p&gt;
&lt;p&gt;
Still need to use HTTP andlers to process tis sort of stuff in IE
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=9843e017-5824-4d54-a504-33c6cc4899d8" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,9843e017-5824-4d54-a504-33c6cc4899d8.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=ce9c2d61-e23a-40f7-9d02-1ef49d7eca79</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,ce9c2d61-e23a-40f7-9d02-1ef49d7eca79.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,ce9c2d61-e23a-40f7-9d02-1ef49d7eca79.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=ce9c2d61-e23a-40f7-9d02-1ef49d7eca79</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sitting in a session at mix and they have confirmed that CRM 4.0 will use Windows
Workflow Foundation to manage workflow.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ce9c2d61-e23a-40f7-9d02-1ef49d7eca79" />
      </body>
      <title>CRM 4.0 will use Windows Workflow</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,ce9c2d61-e23a-40f7-9d02-1ef49d7eca79.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/02/CRM40WillUseWindowsWorkflow.aspx</link>
      <pubDate>Wed, 02 May 2007 19:03:25 GMT</pubDate>
      <description>&lt;p&gt;
Sitting in a session at mix and they have confirmed that CRM 4.0 will use Windows
Workflow Foundation to manage workflow.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ce9c2d61-e23a-40f7-9d02-1ef49d7eca79" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,ce9c2d61-e23a-40f7-9d02-1ef49d7eca79.aspx</comments>
      <category>.NET</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=b2a0beaf-5ed0-4b01-bd60-09c84fd752c2</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,b2a0beaf-5ed0-4b01-bd60-09c84fd752c2.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,b2a0beaf-5ed0-4b01-bd60-09c84fd752c2.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=b2a0beaf-5ed0-4b01-bd60-09c84fd752c2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So I'm pretty sure that this is the best MS event I've ever been to. 2nd place would
be Mix from last year.
</p>
        <p>
I've been to such a variety of sessions and I love the fact that there are non technical
Busines Decsision Maker Sessions. I just got out of a great one where I sat next to
Ade from TVNZ. It was a mixture of people from Coke Digital Strategy, ABC and Sandisk
talking about online advertising and market perceptions thereof. Probably the best
session yet- well worth downloading.
</p>
        <p>
I've been to the MySpace sesion where they talked about how they scale out across
almost 10,000 machines.
</p>
        <p>
I've seen enough technology releases with Silerlight to excite me but not enough to
bore me.
</p>
        <p>
It's a great atmosphere with lots of non-MSFT traditional attendees here- lots of
Mac Books around the place.
</p>
        <p>
I'll definitely be back next year if they'll have me.
</p>
        <p>
 
</p>
        <p>
[UPDATE]
</p>
        <p>
To show you ow kick ass this event is... Todays keynote has a roundtable and they
have people as diverse as Andrew Rashbass who is the publisher of The Economist! Kick
ass!
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b2a0beaf-5ed0-4b01-bd60-09c84fd752c2" />
      </body>
      <title>Mix 07 my best MSFT event ever.</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,b2a0beaf-5ed0-4b01-bd60-09c84fd752c2.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/01/Mix07MyBestMSFTEventEver.aspx</link>
      <pubDate>Tue, 01 May 2007 22:58:38 GMT</pubDate>
      <description>&lt;p&gt;
So I'm pretty sure that this is the best MS event I've ever been to. 2nd place would
be Mix from last year.
&lt;/p&gt;
&lt;p&gt;
I've been to such a variety of sessions and I love the fact that there are non technical
Busines Decsision Maker Sessions. I just got out of a great one where I sat next to
Ade from TVNZ. It was a mixture of people from Coke Digital Strategy, ABC and Sandisk
talking about online advertising and market perceptions thereof. Probably the best
session yet- well worth downloading.
&lt;/p&gt;
&lt;p&gt;
I've been to the MySpace sesion where they talked about how they scale out across
almost 10,000 machines.
&lt;/p&gt;
&lt;p&gt;
I've seen enough technology releases with Silerlight to excite me but not enough to
bore me.
&lt;/p&gt;
&lt;p&gt;
It's a great atmosphere with lots of non-MSFT traditional attendees here- lots of
Mac Books around the place.
&lt;/p&gt;
&lt;p&gt;
I'll definitely be back next year if they'll have me.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
[UPDATE]
&lt;/p&gt;
&lt;p&gt;
To show you ow kick ass this event is... Todays keynote has a roundtable and they
have people as diverse as Andrew Rashbass who is the publisher of The Economist! Kick
ass!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b2a0beaf-5ed0-4b01-bd60-09c84fd752c2" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,b2a0beaf-5ed0-4b01-bd60-09c84fd752c2.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=72b53204-bffd-439d-b7a1-275d66cb53b7</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,72b53204-bffd-439d-b7a1-275d66cb53b7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,72b53204-bffd-439d-b7a1-275d66cb53b7.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=72b53204-bffd-439d-b7a1-275d66cb53b7</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>More Details on Silverlight Streaming - Cost</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,72b53204-bffd-439d-b7a1-275d66cb53b7.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/01/MoreDetailsOnSilverlightStreamingCost.aspx</link>
      <pubDate>Tue, 01 May 2007 15:59:31 GMT</pubDate>
      <description>&lt;p class=MsoBodyText style="MARGIN: 0cm 0cm 6pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Silverlight Streaming&lt;br&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
4GB Free Storage&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoBodyText style="MARGIN: 0cm 0cm 6pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Free unlimited streaming for 1r
up to 700kbps&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoBodyText style="MARGIN: 0cm 0cm 6pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Free up to 1 million minutes/month
at launch&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
There are also new commercial terms around Live Contacts and Live Spaces Photos
&lt;/p&gt;
&lt;p class=MsoBodyText style="MARGIN: 0cm 0cm 6pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Spaces Photos/Contacts.&lt;br&gt;
&amp;lt; 1mil users / month = free&lt;br&gt;
&amp;gt; 1mil users / month = $.025 per user per year&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=72b53204-bffd-439d-b7a1-275d66cb53b7" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,72b53204-bffd-439d-b7a1-275d66cb53b7.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=56715a7a-b4fc-4c08-98b8-587418335a21</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,56715a7a-b4fc-4c08-98b8-587418335a21.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,56715a7a-b4fc-4c08-98b8-587418335a21.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=56715a7a-b4fc-4c08-98b8-587418335a21</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
BradA linked to this
</p>
        <p>
          <a href="http://download.microsoft.com/download/f/2/e/f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_Map_FinalNET.png">http://download.microsoft.com/download/f/2/e/f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_Map_FinalNET.png</a>
        </p>
        <p>
It's a nice High Res poster image that provides the overview of Silverlight
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=56715a7a-b4fc-4c08-98b8-587418335a21" />
      </body>
      <title>A good graphical overview of Silverlight</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,56715a7a-b4fc-4c08-98b8-587418335a21.aspx</guid>
      <link>http://www.syringe.net.nz/2007/05/01/AGoodGraphicalOverviewOfSilverlight.aspx</link>
      <pubDate>Tue, 01 May 2007 00:05:00 GMT</pubDate>
      <description>&lt;p&gt;
BradA linked to this
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://download.microsoft.com/download/f/2/e/f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_Map_FinalNET.png"&gt;http://download.microsoft.com/download/f/2/e/f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_Map_FinalNET.png&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It's a nice High Res poster image that provides the overview of Silverlight
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=56715a7a-b4fc-4c08-98b8-587418335a21" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,56715a7a-b4fc-4c08-98b8-587418335a21.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=10f8efa9-fb5b-42c4-b4c7-efb8f392633e</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,10f8efa9-fb5b-42c4-b4c7-efb8f392633e.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,10f8efa9-fb5b-42c4-b4c7-efb8f392633e.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=10f8efa9-fb5b-42c4-b4c7-efb8f392633e</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>MIX07 Keynote</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,10f8efa9-fb5b-42c4-b4c7-efb8f392633e.aspx</guid>
      <link>http://www.syringe.net.nz/2007/04/30/MIX07Keynote.aspx</link>
      <pubDate>Mon, 30 Apr 2007 19:09:52 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;OK... so here comes my Mix07 Keynote recap.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;A few BIG announcements&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpFirst style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;1.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Silverlight
as of beta 1 (released today with a Go Live License) has .NET framework support. This
support is cross browser (IE and Firefox) and cross platform (Safari on the Mac).
This is huge.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpMiddle style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;2.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Microsoft
announced Silverlight Streaming. &lt;/font&gt;&lt;/font&gt;&lt;a href="http://silverlight.live.com/"&gt;&lt;font face=Calibri color=#0000ff size=3&gt;http://silverlight.live.com&lt;/font&gt;&lt;/a&gt;&lt;font face=Calibri color=#000000 size=3&gt; .
This allows developers to store up to 4GB of sub 10 minute videos and associated Silverlight
applications into the Microsoft supported Content Distribution Network (think Akamai).
This is FREE!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpMiddle style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;3.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Microsoft
announced IronRuby for .NET. This will compile down to IL like anything else and the
Dynamic Language IL will run on both Mac and PC inside Silverlight. ScottGu did a
great demo with everything happening on the mac. From writing XAML to writing Ruby
code. Compilation happening inside Silverlight.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpLast style="MARGIN: 0cm 0cm 10pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;4.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Expression
Studio shipped today... I&amp;#8217;m coming back to NZ with a special commemorative copy-
the Expression team had 1500 completely unique designs put together for the boxes &lt;/font&gt;&lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;font size=3&gt;J&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Here is some more detail gleamed from the
Keynote and some other connections within DevDiv@ Microsoft.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Sililverlight Beta 1 incl Go Live. Final release
will ship this summer.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Silverlight
includes cross platform .NET in the browser. Uses the same CLR that ships with full
framework-&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;it has the same JIT, GC and
type-system that you have with desktop .NET apps today.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
means that it loads and can run the same compiled assemblies that are used with the
.NET Framework today- subject to it not quite having the full framework at its disposal-
i.e. som namespaces are missing.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Seeing performance of up to 1000 times faster
than Javascript- showed a great Demo with a Chess AI algorithm compared in Javascript
and C#. 8 to 20 times faster than ActionScript.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Silverlight includes a subset of WPF from
desktop. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Silverlight supports HTML DOM Integration-
you can use any .NET language to build AJAX stuff rather than having to use Javascript.
So basically you can wire up VB/C#/Ruby/Python event handlers to HTML elements like
you would do with Javascript.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;We FINALLY have debugging of browser code
to rival (read spank the pants off) Mozilla....Not only is there support for running
CLR stuff on the Mac.... Also support for debugging applications on the mac- you can
remotely attach the debugger to the Macintosh over the network and step through the
code!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Still a little unclear on the
SOAP support. I know it doesn&amp;#8217;t support WS* or WCF. I didn&amp;#8217;t thnk it supported
soap (only REST/POX/JSON) but I&amp;#8217;m still digging on whether it will support &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;SOAP.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Silverlight has full LINQ (it includes System.Core
so it will support all the .NET 3.5 stuff in that) support and an offline data cache. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Silverlight plugn is a 4MB download. Install
is a 2 second task. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;While not announced they showed a version
of Silverlight running on Windows Mobile- may well see this announced @ MEDC later
this week.... I&amp;#8217;m trying to find out more about this RIGHT NOW. If it is true
then I have a great application to put together right now.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;There is no Audio or Video capture in Silverlight
v1.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;There is currently lack of support for a number
of key WPF features... These sould be available and baked into the final version....
Definitely missing are: databinding, layout manager, styles and templating.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font face=Calibri color=#000000 size=3&gt;Codec support includes WMV, MP3, VC-1 and
H263 video. Silverlight will NOT support additional Codecs that users might have installed.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=10f8efa9-fb5b-42c4-b4c7-efb8f392633e" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,10f8efa9-fb5b-42c4-b4c7-efb8f392633e.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=70923ced-7853-4577-b585-8ae1e3798fd5</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,70923ced-7853-4577-b585-8ae1e3798fd5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,70923ced-7853-4577-b585-8ae1e3798fd5.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=70923ced-7853-4577-b585-8ae1e3798fd5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So y'all know that MSFTs FlashKiller is called <a href="http://www.microsoft.com/silverlight/">Silverlight</a>...
</p>
        <p>
But
</p>
        <p>
You don't know quite how cool it's actually going to be. I know.... but if I told
you I'd have to kill you.
</p>
        <p>
So. Come Monday the <a href="http://cinepad.com/mslex.htm">Kimono Shall Be Opened</a> @
the Mix Keynote.
</p>
        <p>
I shall be blogging live and telling you all about it.... suffice to say.... YOU WILL
HAVE KITTENS!
</p>
        <p>
[Update]
</p>
        <p>
Just found out more great stuff.... Tommorows announcements will cover not only developer
platform but some all new developer service offerings.... 
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=70923ced-7853-4577-b585-8ae1e3798fd5" />
      </body>
      <title>Tune Here for Silverlight News</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,70923ced-7853-4577-b585-8ae1e3798fd5.aspx</guid>
      <link>http://www.syringe.net.nz/2007/04/28/TuneHereForSilverlightNews.aspx</link>
      <pubDate>Sat, 28 Apr 2007 23:50:36 GMT</pubDate>
      <description>&lt;p&gt;
So y'all know that MSFTs FlashKiller is called &lt;a href="http://www.microsoft.com/silverlight/"&gt;Silverlight&lt;/a&gt;...
&lt;/p&gt;
&lt;p&gt;
But
&lt;/p&gt;
&lt;p&gt;
You don't know quite how cool it's actually going to be. I know.... but if I told
you I'd have to kill you.
&lt;/p&gt;
&lt;p&gt;
So. Come Monday the &lt;a href="http://cinepad.com/mslex.htm"&gt;Kimono Shall Be Opened&lt;/a&gt;&amp;nbsp;@
the Mix Keynote.
&lt;/p&gt;
&lt;p&gt;
I shall be blogging live and telling you all about it.... suffice to say.... YOU WILL
HAVE KITTENS!
&lt;/p&gt;
&lt;p&gt;
[Update]
&lt;/p&gt;
&lt;p&gt;
Just found out more great stuff.... Tommorows announcements will cover not only developer
platform but some all new developer service offerings.... 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=70923ced-7853-4577-b585-8ae1e3798fd5" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,70923ced-7853-4577-b585-8ae1e3798fd5.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
      <category>Vista</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=c0c2f97c-87ea-4c2d-bef0-a5afd76bf499</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,c0c2f97c-87ea-4c2d-bef0-a5afd76bf499.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,c0c2f97c-87ea-4c2d-bef0-a5afd76bf499.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=c0c2f97c-87ea-4c2d-bef0-a5afd76bf499</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So WPF/E has a new name.
</p>
        <p>
          <a href="http://www.microsoft.com/silverlight/default_01.aspx">Silverlight</a>.
</p>
        <p>
Install is under 2MB.
</p>
        <p>
Currently not supporting .NET languages but I'd expect to see that change pretty quickly.
</p>
        <p>
“Silverlight is a cross-browser, cross-platform plug-in for delivering the next
generation of media experiences and rich interactive applications (RIAs) for the Web.
Silverlight integrates with existing Web applications. Silverlight media capabilities
include fast, cost-effective delivery of high-quality audio and video to all major
browsers including Mozilla Firefox, Apple Safari, and Windows Internet Explorer running
on the Macintosh or on Microsoft Windows. By using Microsoft Expression Studio and
Microsoft Visual Studio, designers and developers can collaborate more effectively
by using the skills they have today to light up the Web of tomorrow.”
</p>
        <p>
The biggest thing for me in the whole Expression push from Microsoft is in closing
the chasm between designers and developers. Yes, there have always been <a href="http://www.cockfield.net/">people
who sit pretty well in between</a>, but round tripping betwen creative and development
types has always been a really hard problem. With WPF I think they've come pretty
close to cracking this nut.
</p>
        <p>
I'll be sure to be posting more on this Live From Mix in a couple of weeks.... I'm
gonna try and use my time at Mix to get back into bloging :-)
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=c0c2f97c-87ea-4c2d-bef0-a5afd76bf499" />
      </body>
      <title>Mix Build Up is Starting - MS Launch the Silverlight name for WPF/E</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,c0c2f97c-87ea-4c2d-bef0-a5afd76bf499.aspx</guid>
      <link>http://www.syringe.net.nz/2007/04/16/MixBuildUpIsStartingMSLaunchTheSilverlightNameForWPFE.aspx</link>
      <pubDate>Mon, 16 Apr 2007 20:08:01 GMT</pubDate>
      <description>&lt;p&gt;
So WPF/E has a new name.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/silverlight/default_01.aspx"&gt;Silverlight&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Install is under 2MB.
&lt;/p&gt;
&lt;p&gt;
Currently not supporting .NET languages but I'd expect to see that change pretty quickly.
&lt;/p&gt;
&lt;p&gt;
&amp;#8220;Silverlight is a cross-browser, cross-platform plug-in for delivering the next
generation of media experiences and rich interactive applications (RIAs) for the Web.
Silverlight integrates with existing Web applications. Silverlight media capabilities
include fast, cost-effective delivery of high-quality audio and video to all major
browsers including Mozilla Firefox, Apple Safari, and Windows Internet Explorer running
on the Macintosh or on Microsoft Windows. By using Microsoft Expression Studio and
Microsoft Visual Studio, designers and developers can collaborate more effectively
by using the skills they have today to light up the Web of tomorrow.&amp;#8221;
&lt;/p&gt;
&lt;p&gt;
The biggest thing for me in the whole Expression push from Microsoft is in closing
the chasm between designers and developers. Yes, there have always been &lt;a href="http://www.cockfield.net/"&gt;people
who sit pretty well in between&lt;/a&gt;, but round tripping betwen creative and development
types has always been a really hard problem. With WPF I think they've come pretty
close to cracking this nut.
&lt;/p&gt;
&lt;p&gt;
I'll be sure to be posting more on this Live From Mix in a couple of weeks.... I'm
gonna try and use my time at Mix to get back into bloging :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=c0c2f97c-87ea-4c2d-bef0-a5afd76bf499" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,c0c2f97c-87ea-4c2d-bef0-a5afd76bf499.aspx</comments>
      <category>.NET</category>
      <category>Mix06</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SO I'm sitting in the penultimte session @ the Dot Net Architecture Camp @ Auckland
University.
</p>
        <p>
It's been one of the most engaging events that I've ever been to. The quality of the
speakers has been top notch.
</p>
        <p>
But... more importantly... the quality of the audience has been top notch with some
great discussions going on. I set out (as one of the organisers of the event) was
to try and have a more discussive type of event- I'd been watching the <a href="http://beyondbelief2006.org/">Beyond
Belief</a> event videos at the time.... I think we've done a pretty good job.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4" />
      </body>
      <title>.NET Architecture Camp</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4.aspx</guid>
      <link>http://www.syringe.net.nz/2007/04/15/NETArchitectureCamp.aspx</link>
      <pubDate>Sun, 15 Apr 2007 02:27:04 GMT</pubDate>
      <description>&lt;p&gt;
SO I'm sitting in the penultimte session @ the Dot Net Architecture Camp @ Auckland
University.
&lt;/p&gt;
&lt;p&gt;
It's been one of the most engaging events that I've ever been to. The quality of the
speakers has been top notch.
&lt;/p&gt;
&lt;p&gt;
But... more importantly... the quality of the audience has been top notch with some
great discussions going on. I set out (as one of the organisers of the event) was
to try and have a more discussive type of event- I'd been watching the &lt;a href="http://beyondbelief2006.org/"&gt;Beyond
Belief&lt;/a&gt; event videos at the time.... I think we've done a pretty good job.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,04e4f5f0-464a-4b10-ac6e-7dc0df65dbe4.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=ed50fdfa-b4b8-43af-83a4-b88fe8481471</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,ed50fdfa-b4b8-43af-83a4-b88fe8481471.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,ed50fdfa-b4b8-43af-83a4-b88fe8481471.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=ed50fdfa-b4b8-43af-83a4-b88fe8481471</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So late last week Microsoft published the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A438A9B9-9F15-42EC-866F-2EA58E10DB36&amp;displaylang=en">Windows
Workflow Foundation Web Workflow Approvals Starter Kit</a> or WFWWASK :-)
</p>
        <p>
This is the culmination of a lot of hard work by the Dunedin office of <a href="http://www.intergen.co.nz">Intergen</a> who
put together this sample for the .NET 3 team @ Microsoft in Redmond.
</p>
        <p>
It's a great demonstration of how you can use WF to achieve a multiuser task management
and assignment system. It uses roles to determine the routing of tasks.
</p>
        <p>
If WF interests you I encurage you to go and grab this sample kit to have a play.
Feel free to post comments in here if you have any questions.... I must get the rest
of our Dunedin team blogging!
</p>
        <p>
 
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ed50fdfa-b4b8-43af-83a4-b88fe8481471" />
      </body>
      <title>Intergen writes the new Windows Workflow Foundation Web Workflow Approvals Starter Kit</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,ed50fdfa-b4b8-43af-83a4-b88fe8481471.aspx</guid>
      <link>http://www.syringe.net.nz/2007/04/10/IntergenWritesTheNewWindowsWorkflowFoundationWebWorkflowApprovalsStarterKit.aspx</link>
      <pubDate>Tue, 10 Apr 2007 01:51:01 GMT</pubDate>
      <description>&lt;p&gt;
So late last week Microsoft published the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A438A9B9-9F15-42EC-866F-2EA58E10DB36&amp;amp;displaylang=en"&gt;Windows
Workflow Foundation Web Workflow Approvals Starter Kit&lt;/a&gt; or WFWWASK :-)
&lt;/p&gt;
&lt;p&gt;
This is the culmination of a lot of hard work by the Dunedin office of &lt;a href="http://www.intergen.co.nz"&gt;Intergen&lt;/a&gt;&amp;nbsp;who
put together this sample for the .NET 3 team @ Microsoft in Redmond.
&lt;/p&gt;
&lt;p&gt;
It's a great demonstration of how you can use WF to achieve a multiuser task management
and assignment system. It uses roles to determine the routing of tasks.
&lt;/p&gt;
&lt;p&gt;
If WF interests you I encurage you to go and grab this sample kit to have a play.
Feel free to post comments in here if you have any questions.... I must get the rest
of our Dunedin team blogging!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ed50fdfa-b4b8-43af-83a4-b88fe8481471" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,ed50fdfa-b4b8-43af-83a4-b88fe8481471.aspx</comments>
      <category>.NET</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=e2484bb8-c713-40f2-8ffd-48e9d0ae5831</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,e2484bb8-c713-40f2-8ffd-48e9d0ae5831.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,e2484bb8-c713-40f2-8ffd-48e9d0ae5831.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=e2484bb8-c713-40f2-8ffd-48e9d0ae5831</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A friend of mine in India has just started a new UX focused screencast.
</p>
        <p>
          <span style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">
            <a href="http://www.revoluxions.com">
              <font color="#800080">www.revoluxions.com</font>
            </a>
          </span>
        </p>
        <p>
          <span style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Check
it out. Only one episode so far. But looking good.</span>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=e2484bb8-c713-40f2-8ffd-48e9d0ae5831" />
      </body>
      <title>New User Experience Screen Cast</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,e2484bb8-c713-40f2-8ffd-48e9d0ae5831.aspx</guid>
      <link>http://www.syringe.net.nz/2007/02/06/NewUserExperienceScreenCast.aspx</link>
      <pubDate>Tue, 06 Feb 2007 20:38:24 GMT</pubDate>
      <description>&lt;p&gt;
A friend of mine in India has just started a new UX focused screencast.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;a href="http://www.revoluxions.com"&gt;&lt;font color=#800080&gt;www.revoluxions.com&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Check
it out. Only one episode so far. But looking good.&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=e2484bb8-c713-40f2-8ffd-48e9d0ae5831" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,e2484bb8-c713-40f2-8ffd-48e9d0ae5831.aspx</comments>
      <category>.NET</category>
      <category>Vista</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=784f1e96-84fc-4710-acdd-e490613ff75c</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,784f1e96-84fc-4710-acdd-e490613ff75c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,784f1e96-84fc-4710-acdd-e490613ff75c.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=784f1e96-84fc-4710-acdd-e490613ff75c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well, a number of people have blogged about the iPhone over the past few days... I've
not had a bundle of time but here are some of my thoughts.
</p>
        <p>
1. They are going to have to do a REALLY kick ass job with Touchscreen for me to like
it. I've tried phones withiout buttons plenty of times both MSFT and other devices.
I hate them with a vengence.
</p>
        <p>
2. Only EDGE!?! Bleh! THis rules out streaming video to take advantage of the screen
and over the air music purchases too. I GUARANTEE this will change prior to launch.
</p>
        <p>
3. As to be expected from Apple the UI looks sexy as sin!
</p>
        <p>
4. The webbrowsing looks evolutionary rather than revolutionary. We'll see just what
sort of a job they end up doing.
</p>
        <p>
5. The google maps doesn't look as good as the new MSN Mobile Live Search IMHO/
</p>
        <p>
6. The user interaction design. Is, as per usual up to Apples high standard... let's
just see if they can pull off a good touch screen.
</p>
        <p>
7. God damn it's expensive!
</p>
        <p>
THose are my thoughts... as I said... gonna be hard to get me off my candy bar smartphone...
but we'll see.
</p>
        <p>
Thought I might just a address a few of <a href="http://www.drury.net.nz/2007/01/10/why-apple-wins/">Rods
points </a>while I am at it.
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p align="left">
            <em>“The Microsoft Mobile team must be performing hari-kiri. They have had 5+
years and did not make it about the software. They wasted Microsoft’s key advantage.
They could have easily done a soft keyboard but did not innovate. The mobile software
was just a scaled down PC interface that doesn’t really work. Compare Pocket
Outlook to the Blackberry Message Stream interface. Microsoft squandered the opportunity
to make it about Software. Heads will roll. BillG must be pissed.“</em>
          </p>
        </blockquote>
        <p dir="ltr" align="left">
Urm... Windows Mobile has always been about the platform. It is a generic platform
that supports a huge array of devices. The range of different form factors trumps
even Symbian. More importantly the platform is all about enabling developers. The
reason that enterprise developers especially prefer Windows Mobile over Palm/Symbian
etc... is that it is a doddle to develop software for. The platform is VERY welll
supported across the whole gamut of tools, from core driver level stuff (allowing
easy addition of peripherals at the OS level- Symbol, HHP, Navman) through to simple
developer tools (eVB, .NET Compact Framework). It is trivial for someone to pick up
the Windows Mobile platform and tailor it to their needs be they a multinational hardware
vendor or a small ISV.
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr" align="left">
            <em>“<span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><font size="3"><font color="#000000">OSX
as a multitasking Interface should suit mobile networks as it allows background downloading.“</font></font></span></em>
          </p>
        </blockquote>
        <p dir="ltr" align="left">
          <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
            <font color="#000000" size="3">This
is a complete marketechture red herring. People have been doing multitasking for ages.
I can happily surf the web on my Windows Mobile device while mail is downloading.
Same with Palm.</font>
          </span>
        </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">
            <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
              <font color="#000000" size="3">
                <em>"T<span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">hey
have eliminated a device. The iPhone really is an iPod + Phone. With the iTunes infrastructure
there are many opportunities for monetizing over the air downloads. This will guarantee
carrier support.“</span></em>
              </font>
            </span>
          </p>
        </blockquote>
        <p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">
          <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
            <font color="#000000" size="3">
              <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Urm...
I use Plays for Sure support on my windows mobile phone. It syncs really nicely with
my Media Center PC pulling down not only audio but also video. And... the fact that
it's build on a broad and simple to develop for platform means that I can have rich
additional content such as DRM'd eBooks and Audio books supported in unique ways as
well. iPhone only eliminates the iPod in so far as one might insist on having an iPod.</span>
            </font>
          </span>
        </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">
            <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
              <font color="#000000" size="3">
                <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
                  <em>“T<span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">he
iPhone is a compelling wireless Internet device. The inclusion of Safari is compelling.“</span></em>
                </span>
              </font>
            </span>
          </p>
        </blockquote>
        <p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">
          <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
            <font color="#000000" size="3">
              <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
                <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">No
it's not. Unless they add decent WWAN support (at least UMTS) it's a MOST uncompelling
wireless internet device. The inclusion of Safari has great potential... but again...
hamstrung by bandwidth.</span>
              </span>
            </font>
          </span>
        </p>
        <p dir="ltr" style="MARGIN-RIGHT: 0px" align="left">
          <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
            <font color="#000000" size="3">
              <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
                <span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'">
                </span> 
</span>
            </font>
          </span>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=784f1e96-84fc-4710-acdd-e490613ff75c" />
      </body>
      <title>The iPhone</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,784f1e96-84fc-4710-acdd-e490613ff75c.aspx</guid>
      <link>http://www.syringe.net.nz/2007/01/14/TheIPhone.aspx</link>
      <pubDate>Sun, 14 Jan 2007 23:24:38 GMT</pubDate>
      <description>&lt;p&gt;
Well, a number of people have blogged about the iPhone over the past few days... I've
not had a bundle of time but here are some of my thoughts.
&lt;/p&gt;
&lt;p&gt;
1. They are going to have to do a REALLY kick ass job with Touchscreen for me to like
it. I've tried phones withiout buttons plenty of times both MSFT and other devices.
I hate them with a vengence.
&lt;/p&gt;
&lt;p&gt;
2. Only EDGE!?! Bleh! THis rules out streaming video to take advantage of the screen
and over the air music purchases too. I GUARANTEE this will change prior to launch.
&lt;/p&gt;
&lt;p&gt;
3. As to be expected from Apple the UI looks sexy as sin!
&lt;/p&gt;
&lt;p&gt;
4. The webbrowsing looks evolutionary rather than revolutionary. We'll see just what
sort of a job they end up doing.
&lt;/p&gt;
&lt;p&gt;
5. The google maps doesn't look as good as the new MSN Mobile Live Search IMHO/
&lt;/p&gt;
&lt;p&gt;
6. The user interaction design. Is, as per usual up to Apples high standard... let's
just see if they can pull off a good touch screen.
&lt;/p&gt;
&lt;p&gt;
7. God damn it's expensive!
&lt;/p&gt;
&lt;p&gt;
THose are my thoughts... as I said... gonna be hard to get me off my candy bar smartphone...
but we'll see.
&lt;/p&gt;
&lt;p&gt;
Thought I might just a address a few of &lt;a href="http://www.drury.net.nz/2007/01/10/why-apple-wins/"&gt;Rods
points &lt;/a&gt;while I am at it.
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p align=left&gt;
&lt;em&gt;&amp;#8220;The Microsoft Mobile team must be performing hari-kiri. They have had 5+
years and did not make it about the software. They wasted Microsoft&amp;#8217;s key advantage.
They could have easily done a soft keyboard but did not innovate. The mobile software
was just a scaled down PC interface that doesn&amp;#8217;t really work. Compare Pocket
Outlook to the Blackberry Message Stream interface. Microsoft squandered the opportunity
to make it about Software. Heads will roll. BillG must be pissed.&amp;#8220;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr align=left&gt;
Urm... Windows Mobile has always been about the platform. It is a generic platform
that supports a huge array of devices. The range of different form factors trumps
even Symbian. More importantly the platform is all about enabling developers. The
reason that enterprise developers especially prefer Windows Mobile over Palm/Symbian
etc... is that it is a doddle to develop software for. The platform is VERY welll
supported across the whole gamut of tools, from core driver level stuff (allowing
easy addition of peripherals at the OS level- Symbol, HHP, Navman) through to simple
developer tools (eVB, .NET Compact Framework). It is trivial for someone to pick up
the Windows Mobile platform and tailor it to their needs be they a multinational hardware
vendor or a small ISV.
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr align=left&gt;
&lt;em&gt;&amp;#8220;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;OSX
as a multitasking Interface should suit mobile networks as it allows background downloading.&amp;#8220;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;This
is a complete marketechture red herring. People have been doing multitasking for ages.
I can happily surf the web on my Windows Mobile device while mail is downloading.
Same with Palm.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px" align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;&lt;em&gt;"T&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;hey
have eliminated a device. The iPhone really is an iPod + Phone. With the iTunes infrastructure
there are many opportunities for monetizing over the air downloads. This will guarantee
carrier support.&amp;#8220;&lt;/span&gt;&lt;/em&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px" align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Urm...
I use Plays for Sure support on my windows mobile phone. It syncs really nicely with
my Media Center PC pulling down not only audio but also video. And... the fact that
it's build on a broad and simple to develop for platform means that I can have rich
additional content such as DRM'd eBooks and Audio books supported in unique ways as
well. iPhone only eliminates the iPod in so far as one might insist on having an iPod.&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px" align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;em&gt;&amp;#8220;T&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;he
iPhone is a compelling wireless Internet device. The inclusion of Safari is compelling.&amp;#8220;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr style="MARGIN-RIGHT: 0px" align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;No
it's not. Unless they add decent WWAN support (at least UMTS) it's a MOST uncompelling
wireless internet device. The inclusion of Safari has great potential... but again...
hamstrung by bandwidth.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px" align=left&gt;
&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font color=#000000 size=3&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&gt;&gt;&gt;&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=784f1e96-84fc-4710-acdd-e490613ff75c" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,784f1e96-84fc-4710-acdd-e490613ff75c.aspx</comments>
      <category>.NET</category>
      <category>Mobility</category>
      <category>Rants</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As you *should* know.... it is important to be careful with threads when programming
a WinForms UI... specifically accessing controls should be done on the single UI thread.
</p>
        <p>
This post gives a load of great detail.
</p>
        <p>
          <a href="http://weblogs.asp.net/justin_rogers/articles/126345.aspx">http://weblogs.asp.net/justin_rogers/articles/126345.aspx</a>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2" />
      </body>
      <title>A VERY useful post on UI Thread Affinity..</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2.aspx</guid>
      <link>http://www.syringe.net.nz/2007/01/12/AVERYUsefulPostOnUIThreadAffinity.aspx</link>
      <pubDate>Fri, 12 Jan 2007 19:15:04 GMT</pubDate>
      <description>&lt;p&gt;
As you *should* know.... it is important to be careful with threads when programming
a WinForms UI... specifically accessing controls should be done on the single UI thread.
&lt;/p&gt;
&lt;p&gt;
This post gives a load of great detail.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblogs.asp.net/justin_rogers/articles/126345.aspx"&gt;http://weblogs.asp.net/justin_rogers/articles/126345.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,a5ed4f8b-8e3c-4305-bd02-5ec00e7b52e2.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=f8906004-1b0f-4c3d-aafa-fa28eb9271db</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,f8906004-1b0f-4c3d-aafa-fa28eb9271db.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,f8906004-1b0f-4c3d-aafa-fa28eb9271db.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=f8906004-1b0f-4c3d-aafa-fa28eb9271db</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
          <span style="mso-spacerun: yes">
            <font face="Consolas" color="#000000" size="3"> </font>
          </span>
          <a href="http://msdn.microsoft.com/events/pdc/">
            <font face="Consolas" size="3">http://msdn.microsoft.com/events/pdc/</font>
          </a>
        </p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
 
</p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
October 2 to 5 2007 in sunny Los Angeles.....
</p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
 
</p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
Set to be a pretty big PDC.... I'm picking more of an 03 (really early look at stuff)
than an 05 PDC...
</p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
 
</p>
        <p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt">
Should be a hoot... my red shoes and I shall be there... not staying in little Guatamala
this time though!
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=f8906004-1b0f-4c3d-aafa-fa28eb9271db" />
      </body>
      <title>PDC 07...</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,f8906004-1b0f-4c3d-aafa-fa28eb9271db.aspx</guid>
      <link>http://www.syringe.net.nz/2006/12/13/PDC07.aspx</link>
      <pubDate>Wed, 13 Dec 2006 19:50:06 GMT</pubDate>
      <description>&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="mso-spacerun: yes"&gt;&lt;font face=Consolas color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/events/pdc/"&gt;&lt;font face=Consolas size=3&gt;http://msdn.microsoft.com/events/pdc/&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
October 2 to 5 2007 in sunny Los Angeles.....
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
Set to be a pretty big PDC.... I'm picking more of an 03 (really early look at stuff)
than an 05 PDC...
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"&gt;
Should be a hoot... my red shoes and I shall be there... not staying in little Guatamala
this time though!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=f8906004-1b0f-4c3d-aafa-fa28eb9271db" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,f8906004-1b0f-4c3d-aafa-fa28eb9271db.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=6974f7eb-6eeb-47eb-94cd-8d406f43ecef</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,6974f7eb-6eeb-47eb-94cd-8d406f43ecef.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,6974f7eb-6eeb-47eb-94cd-8d406f43ecef.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=6974f7eb-6eeb-47eb-94cd-8d406f43ecef</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft have released the CTP for WPF/E
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2B01EC7E-C3B8-47CC-B12A-67C30191C3AA&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyId=2B01EC7E-C3B8-47CC-B12A-67C30191C3AA&amp;displaylang=en</a>
        </p>
        <p>
You'll note they have a Mac Client already!
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=6974f7eb-6eeb-47eb-94cd-8d406f43ecef" />
      </body>
      <title>WPF/E is out</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,6974f7eb-6eeb-47eb-94cd-8d406f43ecef.aspx</guid>
      <link>http://www.syringe.net.nz/2006/12/05/WPFEIsOut.aspx</link>
      <pubDate>Tue, 05 Dec 2006 02:29:54 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft have released the CTP for WPF/E
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2B01EC7E-C3B8-47CC-B12A-67C30191C3AA&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=2B01EC7E-C3B8-47CC-B12A-67C30191C3AA&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You'll note they have a Mac Client already!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=6974f7eb-6eeb-47eb-94cd-8d406f43ecef" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,6974f7eb-6eeb-47eb-94cd-8d406f43ecef.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=0e1554af-483b-4954-bb0f-ef56ba388cdc</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,0e1554af-483b-4954-bb0f-ef56ba388cdc.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,0e1554af-483b-4954-bb0f-ef56ba388cdc.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=0e1554af-483b-4954-bb0f-ef56ba388cdc</wfw:commentRss>
      <title>Windows Error Reporting from .NET Applications</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,0e1554af-483b-4954-bb0f-ef56ba388cdc.aspx</guid>
      <link>http://www.syringe.net.nz/2006/11/13/WindowsErrorReportingFromNETApplications.aspx</link>
      <pubDate>Mon, 13 Nov 2006 19:37:32 GMT</pubDate>
      <description>&lt;p&gt;
I taught some classes recently for Vista app compat readiness.
&lt;/p&gt;
&lt;p&gt;
One of the key things you need to ensure your app does for Vista is take advantage
of Windows Error Reporting.
&lt;/p&gt;
&lt;p&gt;
This means you MUST NOT just swallow all exceptions with your own exception handling.
&lt;/p&gt;
&lt;p&gt;
A couple of quick tips around this.
&lt;/p&gt;
&lt;p&gt;
1. If you want to rethrow an exception with the original stack trace do a blind throw
like this
&lt;/p&gt;
&lt;p&gt;
try
&lt;/p&gt;
&lt;p&gt;
{&lt;br&gt;
...&lt;br&gt;
}&lt;br&gt;
catch (Exception ex)&lt;br&gt;
{&lt;br&gt;
DoFoo();&lt;br&gt;
throw;&lt;br&gt;
}
&lt;/p&gt;
&lt;p&gt;
Note that we don'te append the exception variable onto the throw.
&lt;/p&gt;
&lt;p&gt;
You can avoid any .NET dialog boxes and throw unhandled exceptions straight to WER
by using this line of code.
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'"&gt;Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);&lt;/span&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=0e1554af-483b-4954-bb0f-ef56ba388cdc" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,0e1554af-483b-4954-bb0f-ef56ba388cdc.aspx</comments>
      <category>.NET</category>
      <category>Vista</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=68c446cb-cd8b-4b8b-a663-a2a27c4c4225</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,68c446cb-cd8b-4b8b-a663-a2a27c4c4225.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,68c446cb-cd8b-4b8b-a663-a2a27c4c4225.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=68c446cb-cd8b-4b8b-a663-a2a27c4c4225</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Google now has a Code specific searching mechanism...
</p>
        <p>
“ 
<table class="sm" id="examples" cellspacing="4" cellpadding="3"><tbody><tr><td style="BORDER-BOTTOM: #cccccc 1px solid" colspan="4"><b>Syntax and Examples </b>(<a href="http://www.google.com/help/faq_codesearch.html#regexp"><font color="#0000cc">more
about regexp syntax</font></a>)</td></tr><tr><td valign="top" nowrap="nowrap"><font size="-1"><i>regexp</i></font></td><td>
Search for a regular expression<br /><a href="http://www.google.com/codesearch?q=go{2}gle&amp;ct=hp"><font color="#0000cc">go{2}gle</font></a>  <a href="http://www.google.com/codesearch?q=hello,\+world&amp;ct=hp"><font color="#0000cc">hello,\
world</font></a>  <a href="http://www.google.com/codesearch?q=^int\+printk&amp;ct=hp"><font color="#0000cc">^int
printk</font></a></td></tr><tr><td valign="top" nowrap="nowrap"><font size="-1">"<i>exact string</i>"</font></td><td>
Search for <i>exact string</i><br /><a href="http://www.google.com/codesearch?q=&quot;compiler+happy&quot;&amp;ct=hp"><font color="#0000cc">"compiler
happy"</font></a></td></tr><tr><td valign="top" nowrap="nowrap">
file:<i>regexp</i></td><td>
Search only in files or directories matching <i>regexp</i><br /><a href="http://www.google.com/codesearch?q=file:\.js$+XMLHttpRequest&amp;ct=hp"><font color="#0000cc">file:\.js$
XMLHttpRequest</font></a>  <a href="http://www.google.com/codesearch?q=file:include/ ioctl&amp;ct=hp"><font color="#0000cc">file:include/
ioctl</font></a><br /><a href="http://www.google.com/codesearch?q=file:/usr/sys/ken/slp.c+&quot;You are not expected to understand this.&quot;&amp;ct=hp"><font color="#0000cc">file:/usr/sys/ken/slp.c
"You are not expected to understand this."</font></a></td></tr><tr><td valign="top" nowrap="nowrap">
package:<i>regexp</i></td><td>
Search packages with names matching <i>regexp</i>.<br />
(A package's name is its URL or CVS server information.)<br /><a href="http://www.google.com/codesearch?q=package:perl+Frodo&amp;ct=hp"><font color="#0000cc">package:perl
Frodo</font></a>  <a href="http://www.google.com/codesearch?q=package:linux-2.6+int\+printk&amp;ct=hp"><font color="#0000cc">package:linux-2.6
int\ printk</font></a></td></tr><tr><td valign="top" nowrap="nowrap">
lang:<i>regexp</i></td><td>
Search only for programs written in languages matching <i>regexp</i><br /><a href="http://www.google.com/codesearch?q=lang:lisp+xml&amp;ct=hp"><font color="#0000cc">lang:lisp
xml</font></a>  <a href="http://www.google.com/codesearch?q=lang:&quot;c%2b%2b&quot;+sprintf.*%s&amp;ct=hp"><font color="#0000cc">lang:"c++"
sprintf.*%s</font></a></td></tr><tr><td valign="top" nowrap="nowrap">
license:<i>regexp</i></td><td>
Search only for files with licenses matching <i>regexp</i>.<br /><a href="http://www.google.com/codesearch?q=license:bsd+int\+printf&amp;ct=hp"><font color="#0000cc">license:bsd
int\ printf</font></a>   <a href="http://www.google.com/codesearch?q=-license:gpl+quicksort&amp;ct=hp"><font color="#0000cc">-license:gpl
heapsort</font></a></td></tr><tr><td style="BORDER-TOP: #cccccc 1px solid" colspan="4">
 </td></tr></tbody></table>
“”
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=68c446cb-cd8b-4b8b-a663-a2a27c4c4225" />
      </body>
      <title>google Introduces CodeSearch</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,68c446cb-cd8b-4b8b-a663-a2a27c4c4225.aspx</guid>
      <link>http://www.syringe.net.nz/2006/10/08/googleIntroducesCodeSearch.aspx</link>
      <pubDate>Sun, 08 Oct 2006 19:59:03 GMT</pubDate>
      <description>&lt;p&gt;
Google now has a Code specific searching mechanism...
&lt;/p&gt;
&lt;p&gt;
&amp;#8220; 
&lt;table class=sm id=examples cellspacing=4 cellpadding=3&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="BORDER-BOTTOM: #cccccc 1px solid" colspan=4&gt;
&lt;b&gt;Syntax and Examples &lt;/b&gt;(&lt;a href="http://www.google.com/help/faq_codesearch.html#regexp"&gt;&lt;font color=#0000cc&gt;more
about regexp syntax&lt;/font&gt;&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
&lt;font size=-1&gt;&lt;i&gt;regexp&lt;/i&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
Search for a regular expression&lt;br&gt;
&lt;a href="http://www.google.com/codesearch?q=go{2}gle&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;go{2}gle&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.google.com/codesearch?q=hello,\+world&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;hello,\
world&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.google.com/codesearch?q=^int\+printk&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;^int
printk&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
&lt;font size=-1&gt;"&lt;i&gt;exact string&lt;/i&gt;"&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
Search for &lt;i&gt;exact string&lt;/i&gt;
&lt;br&gt;
&lt;a href='http://www.google.com/codesearch?q="compiler+happy"&amp;amp;ct=hp'&gt;&lt;font color=#0000cc&gt;"compiler
happy"&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
file:&lt;i&gt;regexp&lt;/i&gt;&lt;/td&gt;
&lt;td&gt;
Search only in files or directories matching &lt;i&gt;regexp&lt;/i&gt;
&lt;br&gt;
&lt;a href="http://www.google.com/codesearch?q=file:\.js$+XMLHttpRequest&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;file:\.js$
XMLHttpRequest&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.google.com/codesearch?q=file:include/ ioctl&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;file:include/
ioctl&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href='http://www.google.com/codesearch?q=file:/usr/sys/ken/slp.c+"You are not expected to understand this."&amp;amp;ct=hp'&gt;&lt;font color=#0000cc&gt;file:/usr/sys/ken/slp.c
"You are not expected to understand this."&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
package:&lt;i&gt;regexp&lt;/i&gt;&lt;/td&gt;
&lt;td&gt;
Search packages with names matching &lt;i&gt;regexp&lt;/i&gt;.&lt;br&gt;
(A package's name is its URL or CVS server information.)&lt;br&gt;
&lt;a href="http://www.google.com/codesearch?q=package:perl+Frodo&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;package:perl
Frodo&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.google.com/codesearch?q=package:linux-2.6+int\+printk&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;package:linux-2.6
int\ printk&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
lang:&lt;i&gt;regexp&lt;/i&gt;&lt;/td&gt;
&lt;td&gt;
Search only for programs written in languages matching &lt;i&gt;regexp&lt;/i&gt;
&lt;br&gt;
&lt;a href="http://www.google.com/codesearch?q=lang:lisp+xml&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;lang:lisp
xml&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href='http://www.google.com/codesearch?q=lang:"c%2b%2b"+sprintf.*%s&amp;amp;ct=hp'&gt;&lt;font color=#0000cc&gt;lang:"c++"
sprintf.*%s&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign=top nowrap&gt;
license:&lt;i&gt;regexp&lt;/i&gt;&lt;/td&gt;
&lt;td&gt;
Search only for files with licenses matching &lt;i&gt;regexp&lt;/i&gt;.&lt;br&gt;
&lt;a href="http://www.google.com/codesearch?q=license:bsd+int\+printf&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;license:bsd
int\ printf&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.google.com/codesearch?q=-license:gpl+quicksort&amp;amp;ct=hp"&gt;&lt;font color=#0000cc&gt;-license:gpl
heapsort&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-TOP: #cccccc 1px solid" colspan=4&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&amp;#8220;&amp;#8221;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=68c446cb-cd8b-4b8b-a663-a2a27c4c4225" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,68c446cb-cd8b-4b8b-a663-a2a27c4c4225.aspx</comments>
      <category>.NET</category>
      <category>PoliTechLaw</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=bfcbf47a-61cc-414c-867e-88d2f6a6ddeb</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,bfcbf47a-61cc-414c-867e-88d2f6a6ddeb.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,bfcbf47a-61cc-414c-867e-88d2f6a6ddeb.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=bfcbf47a-61cc-414c-867e-88d2f6a6ddeb</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
OK.
</p>
        <p>
So Microsoft now seem to release a new Beta/CTP/TR/.... of something pretty much every
day. They're almost all multigig downloads.
</p>
        <p>
Pulling them from one of their three (US/Asia/Europe) servers is painfull at best-
getting 26k pulling down Vista 5728-16384 at the moment.
</p>
        <p>
They really needs some sort of Cloud based Bit Torrent style download mechanism.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=bfcbf47a-61cc-414c-867e-88d2f6a6ddeb" />
      </body>
      <title>Microsoft Need to use a Cloud Based Download Mechanism for Betas</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,bfcbf47a-61cc-414c-867e-88d2f6a6ddeb.aspx</guid>
      <link>http://www.syringe.net.nz/2006/10/02/MicrosoftNeedToUseACloudBasedDownloadMechanismForBetas.aspx</link>
      <pubDate>Mon, 02 Oct 2006 21:26:12 GMT</pubDate>
      <description>&lt;p&gt;
OK.
&lt;/p&gt;
&lt;p&gt;
So Microsoft now seem to release a new Beta/CTP/TR/.... of something pretty much every
day. They're almost all multigig downloads.
&lt;/p&gt;
&lt;p&gt;
Pulling them from one of their three (US/Asia/Europe) servers is painfull at best-
getting 26k pulling down Vista 5728-16384 at the moment.
&lt;/p&gt;
&lt;p&gt;
They really needs some sort of Cloud based Bit Torrent style download mechanism.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=bfcbf47a-61cc-414c-867e-88d2f6a6ddeb" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,bfcbf47a-61cc-414c-867e-88d2f6a6ddeb.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=b807c843-50c3-4aa2-a79a-109fa069ca48</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,b807c843-50c3-4aa2-a79a-109fa069ca48.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,b807c843-50c3-4aa2-a79a-109fa069ca48.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=b807c843-50c3-4aa2-a79a-109fa069ca48</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some discussion came up recently on a mailing list I'm on about how <a href="http://www.softinsight.com/bnoyes/PermaLink.aspx?guid=5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c">difficult
it is to get dataexchange working with WF</a>. Here is my reply
</p>
        <div id="idOWAReplyText33302" dir="ltr">
          <div dir="ltr">
            <font face="Arial" color="#000000" size="2">
              <div id="idOWAReplyText33302" dir="ltr">
                <div dir="ltr">
                  <font face="Arial" color="#000000" size="2">OK.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">
                  </font> 
</div>
                <div dir="ltr">
                  <font face="Arial" size="2">I'll stick my sticky beak in here because
I'm guessing that one of the 'samples that use the hardest technique' that you may
have looked at was written by me.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">
                  </font> 
</div>
                <div dir="ltr">
                  <font face="Arial" size="2">I'm going to talk about the whole ExternalDataExchange
thing for a bit.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">Take a look at that post from Brian for
some detail on what I'm talking about. A key thing to remember with WF is that, more
than any other part of .NET to date, it is aimed squarely at ISVs (and MSFT product
teams who are the same sort of thing).</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">
                  </font> 
</div>
                <div dir="ltr">
                  <font face="Arial" size="2">Basically the whole external data exchange
mechanism is designed to make it easier to provide services to activites at run time.
It's not the only way to communicate into and out of a workflow, but, if you are doing
asynchronous processing it is the way that you *should* communicate into and out of
the workflow.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">
                  </font> 
</div>
                <div dir="ltr">
                  <font face="Arial" size="2">The whole ExternalDataExchange mechanism
has two key benefits.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">1. It provides a disconnect between the
abstract activity and the concrete implementation of that activity. If you take a
look at my whit paper on MSDN you'll see we have the abstract SendEmail activity and
three concrete implementations that send mail via SmtpService, Exchange WebDav and
Outlook. By implementing these three as different services we can create a mechanism
by which the administrator can chose how they want the SendEmal activity to be serviced
at runtime- the appropriate implementation of ISendEMail can be bound in by a 'simple'
configuration file setting. This benefit probably falls into the architecturally useful
basket.</font>
                </div>
                <div dir="ltr">
                  <font face="Arial" size="2">
                  </font> 
</div>
                <div dir="ltr">
                  <font face="Arial" size="2">2. It provides reliable async messaging
into and out of the workflow. When you implement the data exchange pattern your messages
out of the workflow (method calls) and more importantly messages into the workflow
(events) are proxied through a queing mechanism. It is very important that this happens
and let me tell you right now, using the data exchange services is a BUNDLE easier
than trying to do all the queuing stuff by hand. The reason it is important is that
it allows workflows to be serialized out to disc and then deserliaized on receipt
of a message. i.e. if we didn't queue the messages we'd have to dispatch the event
into thin air or block the call while we retrieved the workflow back off disk into
memory. This benefit falls into either the pretty much essential basket.</font>
                </div>
                <font face="Arial" size="2">
                </font>
              </div>
              <div dir="ltr"> 
</div>
              <div dir="ltr">Now then. Brian has indicated that he thinks that doing the DataExchange
stuff is a bit difficult. I encourage you all to read my white paper.
</div>
              <div dir="ltr">
                <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/HmnWkFwWF.asp">
                  <font color="#800080">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/HmnWkFwWF.asp</font>
                </a>
              </div>
              <div dir="ltr">It shows how to use some command line tools that let you go straight
from nicely written interface to strongly typed activities very easily.
</div>
              <div dir="ltr"> 
</div>
              <div dir="ltr">If any of you are in Malaysia for SEA techEd this coming week I'll
be presenting an ILL on this on Thursday I think.
</div>
              <div dir="ltr"> 
</div>
              <div dir="ltr"> 
</div>
            </font>
          </div>
        </div>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b807c843-50c3-4aa2-a79a-109fa069ca48" />
      </body>
      <title>DataExchange in Windows Workflow</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,b807c843-50c3-4aa2-a79a-109fa069ca48.aspx</guid>
      <link>http://www.syringe.net.nz/2006/09/03/DataExchangeInWindowsWorkflow.aspx</link>
      <pubDate>Sun, 03 Sep 2006 00:30:41 GMT</pubDate>
      <description>&lt;p&gt;
Some discussion came up recently on a mailing list I'm on about how &lt;a href="http://www.softinsight.com/bnoyes/PermaLink.aspx?guid=5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c"&gt;difficult
it is to get dataexchange working with WF&lt;/a&gt;. Here is my reply
&lt;/p&gt;
&lt;div id=idOWAReplyText33302 dir=ltr&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial color=#000000 size=2&gt; 
&lt;div id=idOWAReplyText33302 dir=ltr&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial color=#000000 size=2&gt;OK.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;I'll stick my sticky beak in here because I'm
guessing that one of the 'samples that use the hardest technique' that you may have
looked at was written by me.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;I'm going to talk about the whole ExternalDataExchange
thing for a bit.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;Take a look at that post from Brian for some
detail on what I'm talking about. A key thing to remember with WF is that, more than
any other part of .NET to date, it is aimed squarely at ISVs (and MSFT product teams
who are the same sort of thing).&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;Basically the whole external data exchange mechanism
is designed to make it easier to provide services to activites at run time. It's not
the only way to communicate into and out of a workflow, but, if you are doing asynchronous
processing it is the way that you *should* communicate into and out of the workflow.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;The whole ExternalDataExchange mechanism has
two key benefits.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;1. It provides a disconnect between the abstract
activity and the concrete implementation of that activity. If you take a look at my
whit paper on MSDN you'll see we have the abstract SendEmail activity and three concrete
implementations that send mail via SmtpService, Exchange WebDav and Outlook. By implementing
these three as different services we can create a mechanism by which the administrator
can chose how they want the SendEmal activity to be serviced at runtime- the appropriate
implementation of ISendEMail can be bound in by a 'simple' configuration file setting.
This benefit probably falls into the architecturally useful basket.&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;font face=Arial size=2&gt;2. It provides reliable async messaging into
and out of the workflow. When you implement the data exchange pattern your messages
out of the workflow (method calls) and more importantly messages into the workflow
(events) are proxied through a queing mechanism. It is very important that this happens
and let me tell you right now, using the data exchange services is a BUNDLE easier
than trying to do all the queuing stuff by hand. The reason it is important is that
it allows workflows to be serialized out to disc and then deserliaized on receipt
of a message. i.e. if we didn't queue the messages we'd have to dispatch the event
into thin air or block the call while we retrieved the workflow back off disk into
memory. This benefit falls into either the pretty much essential basket.&lt;/font&gt;
&lt;/div&gt;
&lt;font face=Arial size=2&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;Now then. Brian has indicated that he thinks that doing the DataExchange
stuff is a bit difficult. I encourage you all to read my white paper.
&lt;/div&gt;
&lt;div dir=ltr&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/HmnWkFwWF.asp"&gt;&lt;font color=#800080&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/HmnWkFwWF.asp&lt;/font&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div dir=ltr&gt;It shows how to use some command line tools that let you go straight
from nicely written interface to strongly typed activities very easily.
&lt;/div&gt;
&lt;div dir=ltr&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;If any of you are in Malaysia for SEA techEd this coming week I'll be
presenting an ILL on this on Thursday I think.
&lt;/div&gt;
&lt;div dir=ltr&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr&gt;&amp;nbsp;
&lt;/div&gt;
&lt;/font&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=b807c843-50c3-4aa2-a79a-109fa069ca48" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,b807c843-50c3-4aa2-a79a-109fa069ca48.aspx</comments>
      <category>.NET</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Tim has a post up titled <a href="http://ims.co.nz/blog/archive/2006/07/27/1887.aspx">'Trademe
Invest in Ruby on Rails'</a>.... which is a bit misleading really.
</p>
        <p>
It's more like 'Trademe invest in Zoomin, who happen to use Ruby on Rails'.
</p>
        <p>
Good on Zoomin for gettig their claws ito Trademe on this one. I thik it's fantastic...
but it's pushig it a bit far to note that 'Trade me have 'lauched their first Rails
page'. If it were written in PHP they would have launched 'thier first PHP Page' and
the same for JSP. Don't think it's too likely that Trademe will be making the move
off ASP.NET anytime soon. 
</p>
        <p>
When you buy someone elses technology you generally get it as is where is :-)
</p>
        <p>
A funny little example I saw this morning was Sysinternals Process Explorer. Microsoft
now own this but there's still a right click menu option to 'Google' a process name.
</p>
        <p>
Will be interesting to see how easy it is for them to Mashup the Zoomin stuff into
Trademe though... in particular whether most of the 'mashing' occurs on the Ruby side
or the ASP.NET side.
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4" />
      </body>
      <title>Trademe Invest I Zoomin...</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4.aspx</guid>
      <link>http://www.syringe.net.nz/2006/07/27/TrademeInvestIZoomin.aspx</link>
      <pubDate>Thu, 27 Jul 2006 23:22:13 GMT</pubDate>
      <description>&lt;p&gt;
Tim has a post up titled &lt;a href="http://ims.co.nz/blog/archive/2006/07/27/1887.aspx"&gt;'Trademe
Invest in Ruby on Rails'&lt;/a&gt;.... which is a bit misleading really.
&lt;/p&gt;
&lt;p&gt;
It's more like 'Trademe invest in Zoomin, who happen to use Ruby on Rails'.
&lt;/p&gt;
&lt;p&gt;
Good on Zoomin for gettig their claws ito Trademe on this one. I thik it's fantastic...
but it's pushig it a bit far to note that 'Trade me have 'lauched their first Rails
page'. If it were written in PHP they would have launched 'thier first PHP Page' and
the same for JSP. Don't think it's too likely that Trademe will be making the move
off ASP.NET anytime soon. 
&lt;/p&gt;
&lt;p&gt;
When you buy someone elses technology you generally get it as is where is :-)
&lt;/p&gt;
&lt;p&gt;
A funny little example I saw this morning was Sysinternals Process Explorer. Microsoft
now own this but there's still a right click menu option to 'Google' a process name.
&lt;/p&gt;
&lt;p&gt;
Will be interesting to see how easy it is for them to Mashup the Zoomin stuff into
Trademe though... in particular whether most of the 'mashing' occurs on the Ruby side
or the ASP.NET side.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,4907e3a2-5bb0-4284-a0ec-90a8f4fcb5a4.aspx</comments>
      <category>.NET</category>
      <category>Human Aggregation</category>
      <category>Rambles</category>
      <category>Rants</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=0abee70d-d5b0-4017-8686-0327ef7238b8</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,0abee70d-d5b0-4017-8686-0327ef7238b8.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,0abee70d-d5b0-4017-8686-0327ef7238b8.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=0abee70d-d5b0-4017-8686-0327ef7238b8</wfw:commentRss>
      <slash:comments>60</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Windows Workflow can be a bit of a pain to debug some days. In particular there are
often scenarios where an exception gets swallowed somehwere in the runtime and you
go off and spend 20 hours barking up the wrong tree.
</p>
        <p>
Someone had one of these issues using some of the sample code from one of my MSDN
articles today.
</p>
        <p>
          <a href="http://forums.microsoft.com/MSDN/AddPost.aspx?PostID=575571&amp;SiteID=1&amp;ReturnUrl">http://forums.microsoft.com/MSDN/AddPost.aspx?PostID=575571&amp;SiteID=1&amp;ReturnUrl</a>=
</p>
        <p>
A hot tip is to turn on some of the debug tracing in the runtime- easy to do. Just
bigg the following into your config file.
</p>
        <p>
&lt;system.diagnostics&gt;<br />
    &lt;switches&gt;<br />
      &lt;add name="WorkflowTraceToDefault" value="1" /&gt;<br />
      &lt;add name="Host" value="All" /&gt;<br />
      &lt;add name="Runtime" value="All" /&gt;      
<br />
      &lt;add name="Activity" value="All" /&gt;<br />
    &lt;/switches&gt;<br />
  &lt;/system.diagnostics&gt;
</p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=0abee70d-d5b0-4017-8686-0327ef7238b8" />
      </body>
      <title>Debugging Windows Workflow Foundation</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,0abee70d-d5b0-4017-8686-0327ef7238b8.aspx</guid>
      <link>http://www.syringe.net.nz/2006/07/24/DebuggingWindowsWorkflowFoundation.aspx</link>
      <pubDate>Mon, 24 Jul 2006 02:38:12 GMT</pubDate>
      <description>&lt;p&gt;
Windows Workflow can be a bit of a pain to debug some days. In particular there are
often scenarios where an exception gets swallowed somehwere in the runtime and you
go off and spend 20 hours barking up the wrong tree.
&lt;/p&gt;
&lt;p&gt;
Someone had one of these issues using some of the sample code from one of my MSDN
articles today.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://forums.microsoft.com/MSDN/AddPost.aspx?PostID=575571&amp;amp;SiteID=1&amp;amp;ReturnUrl"&gt;http://forums.microsoft.com/MSDN/AddPost.aspx?PostID=575571&amp;amp;SiteID=1&amp;amp;ReturnUrl&lt;/a&gt;=
&lt;/p&gt;
&lt;p&gt;
A hot tip is to turn on some of the debug tracing in the runtime- easy to do. Just
bigg the following into your config file.
&lt;/p&gt;
&lt;p&gt;
&amp;lt;system.diagnostics&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;switches&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="WorkflowTraceToDefault" value="1" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="Host" value="All" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="Runtime" value="All" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="Activity" value="All" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/switches&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/system.diagnostics&amp;gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=0abee70d-d5b0-4017-8686-0327ef7238b8" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,0abee70d-d5b0-4017-8686-0327ef7238b8.aspx</comments>
      <category>.NET</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=885c25e5-ba63-40b0-a569-e4f25cc208b7</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,885c25e5-ba63-40b0-a569-e4f25cc208b7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,885c25e5-ba63-40b0-a569-e4f25cc208b7.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=885c25e5-ba63-40b0-a569-e4f25cc208b7</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We've done quite a bit of Workflow stuff for Microsoft recently.
</p>
        <p>
This morning two bits of stuff that we've worked on are featured on the front page
of 
<br />
MSDN.
</p>
        <p>
There's a <a href="http://go.microsoft.com/?linkid=4267495">Virtual Lab</a>- which
is basically some hands on labs that we've been working on running in a Virtual Machine
and also my article on <a href="http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnlong/html/hmnwkfwwf.asp">Simple
Human Workflow</a>.
</p>
        <p>
Neath huh!?!
</p>
        <p>
 
</p>
        <img src="/content/binary/frontpage.png" border="0" />
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=885c25e5-ba63-40b0-a569-e4f25cc208b7" />
      </body>
      <title>W00t! Front Page of MSDN</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,885c25e5-ba63-40b0-a569-e4f25cc208b7.aspx</guid>
      <link>http://www.syringe.net.nz/2006/06/06/W00tFrontPageOfMSDN.aspx</link>
      <pubDate>Tue, 06 Jun 2006 17:21:33 GMT</pubDate>
      <description>&lt;p&gt;
We've done quite a bit of Workflow stuff for Microsoft recently.
&lt;/p&gt;
&lt;p&gt;
This morning two bits of stuff that we've worked on are featured on the front page
of 
&lt;br&gt;
MSDN.
&lt;/p&gt;
&lt;p&gt;
There's a &lt;a href="http://go.microsoft.com/?linkid=4267495"&gt;Virtual Lab&lt;/a&gt;- which
is basically some hands on labs that we've been working on running in a Virtual Machine
and also my article on &lt;a href="http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnlong/html/hmnwkfwwf.asp"&gt;Simple
Human Workflow&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Neath huh!?!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img src="/content/binary/frontpage.png" border=0&gt;&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=885c25e5-ba63-40b0-a569-e4f25cc208b7" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,885c25e5-ba63-40b0-a569-e4f25cc208b7.aspx</comments>
      <category>.NET</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.syringe.net.nz/Trackback.aspx?guid=ae320874-5074-473a-8232-efea41c2c1e9</trackback:ping>
      <pingback:server>http://www.syringe.net.nz/pingback.aspx</pingback:server>
      <pingback:target>http://www.syringe.net.nz/PermaLink,guid,ae320874-5074-473a-8232-efea41c2c1e9.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.syringe.net.nz/CommentView,guid,ae320874-5074-473a-8232-efea41c2c1e9.aspx</wfw:comment>
      <wfw:commentRss>http://www.syringe.net.nz/SyndicationService.asmx/GetEntryCommentsRss?guid=ae320874-5074-473a-8232-efea41c2c1e9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <span class="274253623-29052006">
            <font face="Arial">"In this two-hour episode, the
teams must create a 60-second promotional video for new Microsoft software, with
execs from the technology giant as the final judges. With only two people left
on each team, stakes are high."</font>
          </span>
        </p>
        <img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ae320874-5074-473a-8232-efea41c2c1e9" />
      </body>
      <title>Must Watch Apprentice Tonight</title>
      <guid isPermaLink="false">http://www.syringe.net.nz/PermaLink,guid,ae320874-5074-473a-8232-efea41c2c1e9.aspx</guid>
      <link>http://www.syringe.net.nz/2006/05/29/MustWatchApprenticeTonight.aspx</link>
      <pubDate>Mon, 29 May 2006 23:39:38 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span class=274253623-29052006&gt;&lt;font face=Arial&gt;"In this two-hour episode, the teams
must create a 60-second promotional video for new&amp;nbsp;Microsoft software, with execs
from the technology giant as the&amp;nbsp;final judges. With only two people left on each
team, stakes are&amp;nbsp;high."&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.syringe.net.nz/aggbug.ashx?id=ae320874-5074-473a-8232-efea41c2c1e9" /&gt;</description>
      <comments>http://www.syringe.net.nz/CommentView,guid,ae320874-5074-473a-8232-efea41c2c1e9.aspx</comments>
      <category>.NET</category>
    </item>
  </channel>
</rss>