<?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>Damon Payne: Hand waving software architect</title>
    <link>http://www.damonpayne.com/</link>
    <description>Director of Mobile Technology &amp; Desktop Applications at CarSpot, developer, nerd</description>
    <language>en-us</language>
    <copyright>Damon Payne</copyright>
    <lastBuildDate>Mon, 21 Jul 2008 18:20:51 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>damon@damonpayne.com</managingEditor>
    <webMaster>damon@damonpayne.com</webMaster>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=2a13f8ec-4242-4546-8169-dc775be409c0</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,2a13f8ec-4242-4546-8169-dc775be409c0.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,2a13f8ec-4242-4546-8169-dc775be409c0.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2a13f8ec-4242-4546-8169-dc775be409c0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://adamkinney.com/">Adam Kinney</a> has post some articles in the past <a href="http://adamkinney.com/blog/322/default.aspx">showing
a Silverlight application</a> for displaying gamer cards.  When the Playstation
3 finally caught up and created a "Portable ID", I thought this would be a decent
chance to demonstrate some Silverlight chops. Yes, I have a PS3 and not an XBox360. 
I thought maybe I'd make an application with unnecessary animations and sounds for
fun, perhaps allow you to sort friends and setup notifcations that are not available
from the PSN.  Here's my Playstation portable ID:
</p>
        <p>
          <a href="http://www.us.playstation.com/PSN/Users/drpayne">
            <img border="0" src="http://pid.us.playstation.com/user/drpayne.jpg" width="235" height="149" />
          </a>
        </p>
        <p>
The gist of the online status is simply a JPG, in my case <a href="http://pid.us.playstation.com/user/drpayne.jpg">http://pid.us.playstation.com/user/drpayne.jpg</a> ,
that gets updated when your status changes via the console.  Excited to run off
and write code I created a Silverlight 2 app and set about downloading this JPG. 
Except that it doesn't work because of <a href="http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx">Silverlight's
cross domain security policies</a>.  I'm not a genious in TCP/IP or DNS/BIND,
but the policies used by Silverlight (mimicing those used by Flash) seem overly restrictive
and make some scenarios that should be common and easy difficult or un-doable. 
There may be a reverse-tunnel situation or similar DNS trickery that is capable with
this type of application, but <em>denial of service</em>?  Check out what I just
did in this blog posting:
</p>
        <p>
&lt;img border=0 src="<a href="http://pid.us.playstation.com/user/drpayne.jpg&quot;/">http://pid.us.playstation.com/user/drpayne.jpg"/</a>&gt;  
</p>
        <p>
When the markup for this page is downloaded to your browser, the browser then issues
seperate http requests for content that lives on other servers.  That content
comes from us.playstation.com, and Google analytics, and Blogged, and others. 
This is, seemingly, not a security or denial of service risk in this particular situation. 
The PS3 network site shown above did not need to place a client policy XML file in
the server root, and in fact they would need to do work to <u>prevent</u> cross domain
access of this type.  Sure, Silverlight has more than just HTTP networking capabilities,
in fact for a future article I have a full blown instant messanger application implemented
in Silverlight using Sockets.  In terms of being a good Technology Citizen, I
can see Microsoft wanting to be very careful concerning what it allows devlopers to
do with more general socket programming.  But HTTP?  Isn't this part of
what the web is "about" ?
</p>
        <p>
What do you think?  Is the cross domain policy employed by Silverlight too restrictive? 
Does it not go far enough?  Just right?
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=2a13f8ec-4242-4546-8169-dc775be409c0" />
      </body>
      <title>Does Silverlight cross domain security make sense?</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,2a13f8ec-4242-4546-8169-dc775be409c0.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/21/DoesSilverlightCrossDomainSecurityMakeSense.aspx</link>
      <pubDate>Mon, 21 Jul 2008 18:20:51 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://adamkinney.com/"&gt;Adam Kinney&lt;/a&gt; has post some articles in the past &lt;a href="http://adamkinney.com/blog/322/default.aspx"&gt;showing
a Silverlight application&lt;/a&gt; for displaying gamer cards.&amp;nbsp; When the Playstation
3 finally caught up and created a "Portable ID", I thought this would be a decent
chance to demonstrate some Silverlight chops. Yes, I have a PS3 and not an XBox360.&amp;nbsp;
I thought maybe I'd make an application with unnecessary animations and sounds for
fun, perhaps allow you to sort friends and setup notifcations that are not available
from the PSN.&amp;nbsp; Here's my Playstation portable ID:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.us.playstation.com/PSN/Users/drpayne"&gt;&lt;img border=0 src="http://pid.us.playstation.com/user/drpayne.jpg" width=235 height=149&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The gist of the online status is simply a JPG, in my case &lt;a href="http://pid.us.playstation.com/user/drpayne.jpg"&gt;http://pid.us.playstation.com/user/drpayne.jpg&lt;/a&gt;&amp;nbsp;,
that gets updated when your status changes via the console.&amp;nbsp; Excited to run off
and write code I created a Silverlight 2 app and set about downloading this JPG.&amp;nbsp;
Except that it doesn't work because of &lt;a href="http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx"&gt;Silverlight's
cross domain security policies&lt;/a&gt;.&amp;nbsp; I'm not a genious in TCP/IP or DNS/BIND,
but the policies used by Silverlight (mimicing those used by Flash) seem overly restrictive
and make some scenarios that should be common and easy difficult or un-doable.&amp;nbsp;
There may be a reverse-tunnel situation or similar DNS trickery that is capable with
this type of application, but &lt;em&gt;denial of service&lt;/em&gt;?&amp;nbsp; Check out what I just
did in this blog posting:
&lt;/p&gt;
&lt;p&gt;
&amp;lt;img border=0 src="&lt;a href='http://pid.us.playstation.com/user/drpayne.jpg"/'&gt;http://pid.us.playstation.com/user/drpayne.jpg"/&lt;/a&gt;&amp;gt;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
When the markup for this page is downloaded to your browser, the browser then issues
seperate http requests for content that lives on other servers.&amp;nbsp; That content
comes from us.playstation.com, and Google analytics, and Blogged, and others.&amp;nbsp;
This is, seemingly, not a security or denial of service risk in this particular situation.&amp;nbsp;
The PS3 network site shown above did not need to place a client policy XML file in
the server root, and in fact they would need to do work to &lt;u&gt;prevent&lt;/u&gt; cross domain
access of this type.&amp;nbsp; Sure, Silverlight has more than just HTTP networking capabilities,
in fact for a future article I have a full blown instant messanger application implemented
in Silverlight using Sockets.&amp;nbsp; In terms of being a good Technology Citizen, I
can see Microsoft wanting to be very careful concerning what it allows devlopers to
do with more general socket programming.&amp;nbsp; But HTTP?&amp;nbsp; Isn't this part of
what the web is "about" ?
&lt;/p&gt;
&lt;p&gt;
What do you think?&amp;nbsp; Is the cross domain policy employed by Silverlight too restrictive?&amp;nbsp;
Does it not go far enough?&amp;nbsp; Just right?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=2a13f8ec-4242-4546-8169-dc775be409c0" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,2a13f8ec-4242-4546-8169-dc775be409c0.aspx</comments>
      <category>Gaming</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=cf40969e-1346-4a6f-a693-6b88527a1671</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,cf40969e-1346-4a6f-a693-6b88527a1671.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,cf40969e-1346-4a6f-a693-6b88527a1671.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cf40969e-1346-4a6f-a693-6b88527a1671</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I made reference a few times last year to some big things being in the works but that
it was hush hush.
</p>
        <p>
          <img border="0" src="http://www.damonpayne.com/content/binary/atcluvcarspot.png" />
        </p>
        <p>
Our company, called CarSpot.com since 1995, was acquired by AutoTrader.com, the
biggest player in the online automotive space with an overwhelming market share. 
CarSpot was picked up for our innovative online, mobile, and desktop solutions to
pervasive data aquisition, aggregation, and distribution problems.  To AutoTrader,
having a small satellite office that is much more agile than a multi-billion dollar
entity was an attractive proposition.  Let's face it, some large companies couldn't
change the font of a paragraph burried in an obscure section of their website without
a 50 person team of project managers, business analysts, marketing, managers, designers,
and developers.  Here at CarSpot, though, an impressive amount of functionality
was written and supported by basically four technical people.
</p>
        <p>
CarSpot traditionally was <strong>very casual</strong>.  Developers have always
been trusted to get their work done, a simple practice that's practically unheard
of out there.  People came and went as they pleased, a lot of beer was purchased
on the company credit cards.  There was no internet monitoring, we played a game
of Quake III at work sometimes, almost any link you might get from a friend marked
"NSFW" was really just fine at CarSpot.  We had power and freedom and we did
some good work; we were encouraged to goof off on things that might turn into good
things for the company.  What we didn't have was tons of money to buy all the
servers we should have had for redundancy and there were sometimes some tools it obviously
made sense to have that we just couldn't buy.  I had been consulting with CarSpot
for years, but when I joined full time in August of 2006 I was the only spouse/kids/mortgage
employee in the shop; benefits weren't all that family friendly.
</p>
        <p>
In the post-purchase world, the former owner is still the President of this division. 
We have all the upside of a large company like HR, benefits, money, and infrastructure,
and AutoTrader is making sure we keep our culture.  We are considered the "R&amp;D
Division" and are expected to keep AutoTrader.com ahead of the technology adoption
curve.  With a mix of more traditional projects and products with lists of enhancements
for sales and "mess with this to see what works and what could be better" type mandates
this is shaping up to be an ideal place for geeks to work.  Hopefully the two
employees I've added to my group this year are enjoying themselves.  
</p>
        <p>
For the longest time, we were forbidden from publicly mentioning this pending an "Official
corporate communication strategy".  This never happened, so its high time I made
a public announcement to the geek community.
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=cf40969e-1346-4a6f-a693-6b88527a1671" />
      </body>
      <title>News to some: CarSpot.com acquired</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,cf40969e-1346-4a6f-a693-6b88527a1671.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/08/NewsToSomeCarSpotcomAcquired.aspx</link>
      <pubDate>Tue, 08 Jul 2008 17:39:16 GMT</pubDate>
      <description>&lt;p&gt;
I made reference a few times last year to some big things being in the works but that
it was hush hush.
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.damonpayne.com/content/binary/atcluvcarspot.png"&gt;
&lt;/p&gt;
&lt;p&gt;
Our company, called&amp;nbsp;CarSpot.com since 1995, was acquired by AutoTrader.com, the
biggest player in the online automotive space with an overwhelming market share.&amp;nbsp;
CarSpot was picked up for our innovative online, mobile, and desktop solutions to
pervasive data aquisition, aggregation,&amp;nbsp;and distribution problems.&amp;nbsp; To AutoTrader,
having a small satellite office that is much more agile than a multi-billion dollar
entity was an attractive proposition.&amp;nbsp; Let's face it, some large companies couldn't
change the font of a paragraph burried in an obscure section of their website without
a 50 person team of project managers, business analysts, marketing, managers, designers,
and developers.&amp;nbsp; Here at CarSpot, though, an impressive amount of functionality
was written and supported by basically four technical people.
&lt;/p&gt;
&lt;p&gt;
CarSpot traditionally was &lt;strong&gt;very casual&lt;/strong&gt;.&amp;nbsp; Developers have always
been trusted to get their work done, a simple practice that's practically unheard
of out there.&amp;nbsp; People came and went as they pleased, a lot of beer was purchased
on the company credit cards.&amp;nbsp; There was no internet monitoring, we played a game
of Quake III at work sometimes, almost any link you might get from a friend marked
"NSFW" was really just fine at CarSpot.&amp;nbsp; We had power and freedom and we did
some good work; we were encouraged to goof off on things that might turn into good
things for the company.&amp;nbsp; What we didn't have was tons of money to buy all the
servers we should have had for redundancy and there were sometimes some tools it obviously
made sense to have that we just couldn't buy.&amp;nbsp; I had been consulting with CarSpot
for years, but when I joined full time in August of 2006 I was the only&amp;nbsp;spouse/kids/mortgage
employee in the shop; benefits weren't all that family friendly.
&lt;/p&gt;
&lt;p&gt;
In the post-purchase world, the former owner is still the President of this division.&amp;nbsp;
We have all the upside of a large company like HR, benefits, money, and infrastructure,
and AutoTrader is making sure we keep our culture.&amp;nbsp; We are considered the "R&amp;amp;D
Division" and are expected to keep AutoTrader.com ahead of the technology adoption
curve.&amp;nbsp; With a mix of more traditional projects and products with lists of enhancements
for sales and "mess with this to see what works and what could be better" type mandates
this is shaping up to be an ideal place for geeks to work.&amp;nbsp; Hopefully the two
employees I've added to my group this year are enjoying themselves.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
For the longest time, we were forbidden from publicly mentioning this pending an "Official
corporate communication strategy".&amp;nbsp; This never happened, so its high time I made
a public announcement to the geek community.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=cf40969e-1346-4a6f-a693-6b88527a1671" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,cf40969e-1346-4a6f-a693-6b88527a1671.aspx</comments>
      <category>By Request</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=d95e1bf3-34b7-4d21-b938-3477b67adf0a</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,d95e1bf3-34b7-4d21-b938-3477b67adf0a.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,d95e1bf3-34b7-4d21-b938-3477b67adf0a.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d95e1bf3-34b7-4d21-b938-3477b67adf0a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After debating for at least 6 months I pulled the trigger on a new dSLR which showed
up today.  The Canon Rebel XTi, 10 megapixel; it ships with a 18-55mm f/3.5-5.6
lens.
</p>
        <p>
I take <strong><u>absolutely terrible</u></strong> photos with <em>any </em>camera,
and this camera is (among other things) a means to learning how to do it right. 
I've been meaning to take more pictures of the kids and various other things and this
will be a big help.  Plus, it's cool.  I ran around taking pics of everyone
and  everything at Carspot today.  Watch my flickr stream in the coming
days.
</p>
        <img src="http://ecx.images-amazon.com/images/I/41RMGH3XG3L._SL500_AA280_.jpg" />
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=d95e1bf3-34b7-4d21-b938-3477b67adf0a" />
      </body>
      <title>New Toy</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,d95e1bf3-34b7-4d21-b938-3477b67adf0a.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/07/NewToy.aspx</link>
      <pubDate>Mon, 07 Jul 2008 20:45:50 GMT</pubDate>
      <description>&lt;p&gt;
After debating for at least 6 months I pulled the trigger on a new dSLR which showed
up today.&amp;nbsp; The Canon Rebel XTi, 10 megapixel; it ships with a 18-55mm f/3.5-5.6
lens.
&lt;/p&gt;
&lt;p&gt;
I take &lt;strong&gt;&lt;u&gt;absolutely terrible&lt;/u&gt;&lt;/strong&gt; photos with &lt;em&gt;any &lt;/em&gt;camera,
and this camera is (among other things) a means to learning how to do it right.&amp;nbsp;
I've been meaning to take more pictures of the kids and various other things and this
will be a big help.&amp;nbsp; Plus, it's cool.&amp;nbsp; I ran around taking pics of everyone
and&amp;nbsp; everything at Carspot today.&amp;nbsp; Watch my flickr stream in the coming
days.
&lt;/p&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41RMGH3XG3L._SL500_AA280_.jpg"&gt; &lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=d95e1bf3-34b7-4d21-b938-3477b67adf0a" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,d95e1bf3-34b7-4d21-b938-3477b67adf0a.aspx</comments>
      <category>Gadget</category>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=f3a86ff0-3c53-49a8-8ba3-33db72078f20</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,f3a86ff0-3c53-49a8-8ba3-33db72078f20.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,f3a86ff0-3c53-49a8-8ba3-33db72078f20.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f3a86ff0-3c53-49a8-8ba3-33db72078f20</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Pardon me while I scratch my head and try to decipher this paradox:
</p>
        <p>
 
</p>
        <p>
          <img border="0" src="http://www.damonpayne.com/content/binary/3.5BetaSetup.jpg" />
        </p>
        <p>
This is one seriously confused program.
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=f3a86ff0-3c53-49a8-8ba3-33db72078f20" />
      </body>
      <title>Interesting error condition</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,f3a86ff0-3c53-49a8-8ba3-33db72078f20.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/07/InterestingErrorCondition.aspx</link>
      <pubDate>Mon, 07 Jul 2008 15:53:14 GMT</pubDate>
      <description>&lt;p&gt;
Pardon me while I scratch my head and try to decipher this paradox:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.damonpayne.com/content/binary/3.5BetaSetup.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
This is one seriously confused program.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=f3a86ff0-3c53-49a8-8ba3-33db72078f20" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,f3a86ff0-3c53-49a8-8ba3-33db72078f20.aspx</comments>
      <category>.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=ee426553-086c-4300-8706-0f5315871d4f</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,ee426553-086c-4300-8706-0f5315871d4f.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,ee426553-086c-4300-8706-0f5315871d4f.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ee426553-086c-4300-8706-0f5315871d4f</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <img src="http://farm4.static.flickr.com/3168/2633768531_09568b87c4.jpg?v=0" />
          <p>
Ethan is one handsome devil!  He's actual been able to sleep several hours in
a row now, making things much easier on Jen and I.  Speaking of my wife, she's
recently gotten Scuba certified and I'm trying to convince her she shouldn't ditch
me to go diving every remaining summer weekend.  I have some interest in diving
but too many other things going on right now to pursue it.  Having two kids is
far more different from having one than I expected.  I'm used to getting extra
work done from home 3-4 nights a week and that just hasn't been in the cards lately. 
Brooke, after having been the most awesome big sister for quite a while, has finally
started to miss getting <u>all</u> our attention and so some rebalancing has been
going on.  
</p>
          <p>
I've not been keeping up with photos like I would like, but I have a new toy coming
on Monday to help remedy that...
</p>
        </div>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=ee426553-086c-4300-8706-0f5315871d4f" />
      </body>
      <title>Personal updates: Ethan at 2 months</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,ee426553-086c-4300-8706-0f5315871d4f.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/03/PersonalUpdatesEthanAt2Months.aspx</link>
      <pubDate>Thu, 03 Jul 2008 18:31:36 GMT</pubDate>
      <description>&lt;div&gt;&lt;img src="http://farm4.static.flickr.com/3168/2633768531_09568b87c4.jpg?v=0"&gt; 
&lt;p&gt;
Ethan is one handsome devil!&amp;nbsp; He's actual been able to sleep several hours in
a row now, making things much easier on Jen and I.&amp;nbsp; Speaking of my wife, she's
recently gotten Scuba certified and I'm trying to convince her she shouldn't ditch
me to go diving every remaining summer weekend.&amp;nbsp; I have some interest in diving
but too many other things going on right now to pursue it.&amp;nbsp; Having two kids is
far more different from having one than I expected.&amp;nbsp; I'm used to getting extra
work done from home 3-4 nights a week and that just hasn't been in the cards lately.&amp;nbsp;
Brooke, after having been the most awesome big sister for quite a while, has finally
started to miss getting &lt;u&gt;all&lt;/u&gt; our attention and so some rebalancing has been
going on.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I've not been keeping up with photos like I would like, but I have a new toy coming
on Monday to help remedy that...
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=ee426553-086c-4300-8706-0f5315871d4f" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,ee426553-086c-4300-8706-0f5315871d4f.aspx</comments>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=cb6a0acc-845b-45a5-8ba4-08c97dae3d97</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,cb6a0acc-845b-45a5-8ba4-08c97dae3d97.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,cb6a0acc-845b-45a5-8ba4-08c97dae3d97.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cb6a0acc-845b-45a5-8ba4-08c97dae3d97</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://arstechnica.com/news.ars/post/20080702-intel-an-expensive-many-core-future-is-ahead-of-us.html">http://arstechnica.com/news.ars/post/20080702-intel-an-expensive-many-core-future-is-ahead-of-us.html</a>
        </p>
        <p>
Expensive for who?  For software developers of course.  It seems to me that
the silicon industry is trying very hard to obscure a basic fact: even if new technologies
such as Software Transactional Memory become common, even if you give us 100 cores
to play with, even if things like the Parallel Extensions from Microsoft are elegant
and easy to use, even if Intel's compiler research turns out to be a huge help,  <em>not
all problems can benefit from parallelism</em>.  In many cases, programmers can
go against what would today be considered good practices and make copies of huge shared
data structures, (at least we're not being told that we're never going to have more
than 4GB of memory) in order to reduce data sharing between threads.  However,
there are many problems that need shared read-write data.  Throwing massive numbers
of cores at these problems will result in performance slower than single-core performance
as resources are eaten up acquiring locks.  On the Windows platform, all of our
GUI technologies still use a "compartment" model whereby objects are owned by a single
very special thread and we are not alowed to touch them except by marshaling onto
this Special message pump.  What good are these 100 core systems going to
do my WPF applications?  
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=cb6a0acc-845b-45a5-8ba4-08c97dae3d97" />
      </body>
      <title>An expensive many-core future is ahead of us</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,cb6a0acc-845b-45a5-8ba4-08c97dae3d97.aspx</guid>
      <link>http://www.damonpayne.com/2008/07/02/AnExpensiveManycoreFutureIsAheadOfUs.aspx</link>
      <pubDate>Wed, 02 Jul 2008 18:28:46 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://arstechnica.com/news.ars/post/20080702-intel-an-expensive-many-core-future-is-ahead-of-us.html"&gt;http://arstechnica.com/news.ars/post/20080702-intel-an-expensive-many-core-future-is-ahead-of-us.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Expensive for who?&amp;nbsp; For software developers of course.&amp;nbsp; It seems to me that
the silicon industry is trying very hard to obscure a basic fact: even if new technologies
such as Software Transactional Memory become common, even if you give us 100 cores
to play with, even if things like the Parallel Extensions from Microsoft are elegant
and easy to use, even if Intel's compiler research turns out to be a huge help,&amp;nbsp;&amp;nbsp;&lt;em&gt;not
all problems can benefit from parallelism&lt;/em&gt;.&amp;nbsp; In many cases, programmers can
go against what would today be considered good practices and make copies of huge shared
data structures, (at least we're not being told that we're never going to have more
than 4GB of memory) in order to reduce data sharing between threads.&amp;nbsp; However,
there are many problems that need shared read-write data.&amp;nbsp; Throwing massive numbers
of cores at these problems will result in performance slower than single-core performance
as resources are eaten up acquiring locks.&amp;nbsp; On the Windows platform, all of our
GUI technologies still use a "compartment" model whereby objects are owned by a single
very special thread and we are not alowed to touch them except by marshaling onto
this Special message pump.&amp;nbsp; What good are these 100 core systems&amp;nbsp;going to
do my WPF applications?&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=cb6a0acc-845b-45a5-8ba4-08c97dae3d97" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,cb6a0acc-845b-45a5-8ba4-08c97dae3d97.aspx</comments>
      <category>Concurrency</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=f5c649e2-5552-4551-8b03-05b1ee538fae</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,f5c649e2-5552-4551-8b03-05b1ee538fae.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,f5c649e2-5552-4551-8b03-05b1ee538fae.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f5c649e2-5552-4551-8b03-05b1ee538fae</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well, it was nice knowing you guys:
</p>
        <p>
          <a href="http://www.joystiq.com/2008/06/28/blizzard-introduces-diablo-3/">http://www.joystiq.com/2008/06/28/blizzard-introduces-diablo-3/</a>
        </p>
        <p>
          <a href="http://www.joystiq.com/2008/06/28/watch-diablo-3-teaser-and-gameplay-footage/">http://www.joystiq.com/2008/06/28/watch-diablo-3-teaser-and-gameplay-footage/</a>
        </p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=f5c649e2-5552-4551-8b03-05b1ee538fae" />
      </body>
      <title>Diablo 3</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,f5c649e2-5552-4551-8b03-05b1ee538fae.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/28/Diablo3.aspx</link>
      <pubDate>Sat, 28 Jun 2008 15:19:46 GMT</pubDate>
      <description>&lt;p&gt;
Well, it was nice knowing you guys:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.joystiq.com/2008/06/28/blizzard-introduces-diablo-3/"&gt;http://www.joystiq.com/2008/06/28/blizzard-introduces-diablo-3/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.joystiq.com/2008/06/28/watch-diablo-3-teaser-and-gameplay-footage/"&gt;http://www.joystiq.com/2008/06/28/watch-diablo-3-teaser-and-gameplay-footage/&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=f5c649e2-5552-4551-8b03-05b1ee538fae" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,f5c649e2-5552-4551-8b03-05b1ee538fae.aspx</comments>
      <category>Gaming</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=b1cc7fe2-1e30-489c-9239-118d709e1607</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,b1cc7fe2-1e30-489c-9239-118d709e1607.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,b1cc7fe2-1e30-489c-9239-118d709e1607.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b1cc7fe2-1e30-489c-9239-118d709e1607</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Anyone who's read this blog long enough to see some of the larger articles can tell
that I am carrying the torch for UML.  I know a lot of people who model things,
but not a lot who use what I consider to be the canonical real-deal modeling language:
UML.  Even when I'm whitboarding, I'm drawing actual UML constructs for classes,
interfaces, packages, and components.  If you draw boxes with lines connecting
them to other boxes, people will often get the idea you are trying to convey, but
there's something compelling about an industry standard modeling dialect with the
ability to express some more subtle semantics than "this thing <em>somethings</em> with
this thing".  Why don't we hear that much about UML in the blogosphere? 
Why is Microsoft developing its own modeling language?  To some degree I blame
the round-trip engineering folks who want to keep code and models in perfect sync,
and there are some idioms in CLR languages that just don't succinctly map to
UML: The Terski brought up the example of delegats.  My response is and has always
been that I'm not interested in modeling at the implementation level: that's what
code is for.
</p>
        <p>
I still keep tabs on the DSL tools team at MSFT, so it was nice to hear from Steve
Cook that UML tools are going to find their way into Architecture Edition.
</p>
        <p>
          <a href="http://blogs.msdn.com/stevecook/archive/2008/06/25/i-ve-got-a-new-job-working-on-dsls-and-uml.aspx">http://blogs.msdn.com/stevecook/archive/2008/06/25/i-ve-got-a-new-job-working-on-dsls-and-uml.aspx</a>
        </p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=b1cc7fe2-1e30-489c-9239-118d709e1607" />
      </body>
      <title>UML + DSL</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,b1cc7fe2-1e30-489c-9239-118d709e1607.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/26/UMLDSL.aspx</link>
      <pubDate>Thu, 26 Jun 2008 15:42:13 GMT</pubDate>
      <description>&lt;p&gt;
Anyone who's read this blog long enough to see some of the larger articles can tell
that I am carrying the torch for UML.&amp;nbsp; I know a lot of people who model things,
but not a lot who use what I consider to be the canonical real-deal modeling language:
UML.&amp;nbsp; Even when I'm whitboarding, I'm drawing actual UML constructs for classes,
interfaces, packages, and components.&amp;nbsp; If you draw boxes with lines connecting
them to other boxes, people will often get the idea you are trying to convey, but
there's something compelling about an industry standard modeling dialect with the
ability to express some more subtle semantics than "this thing &lt;em&gt;somethings&lt;/em&gt; with
this thing".&amp;nbsp; Why don't we hear that much about UML in the blogosphere?&amp;nbsp;
Why is Microsoft developing its own modeling language?&amp;nbsp; To some degree I blame
the round-trip engineering folks who want to keep code and models in perfect sync,
and there are some&amp;nbsp;idioms in CLR languages that just don't succinctly map to
UML: The Terski brought up the example of delegats.&amp;nbsp; My response is and has always
been that I'm not interested in modeling at the implementation level: that's what
code is for.
&lt;/p&gt;
&lt;p&gt;
I still keep tabs on the DSL tools team at MSFT, so it was nice to hear from Steve
Cook that UML tools&amp;nbsp;are going to find their way into Architecture Edition.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/stevecook/archive/2008/06/25/i-ve-got-a-new-job-working-on-dsls-and-uml.aspx"&gt;http://blogs.msdn.com/stevecook/archive/2008/06/25/i-ve-got-a-new-job-working-on-dsls-and-uml.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=b1cc7fe2-1e30-489c-9239-118d709e1607" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,b1cc7fe2-1e30-489c-9239-118d709e1607.aspx</comments>
      <category>Architecture and Design</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=0f8e1c3a-cde3-4af3-97c1-47c158a75103</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,0f8e1c3a-cde3-4af3-97c1-47c158a75103.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,0f8e1c3a-cde3-4af3-97c1-47c158a75103.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0f8e1c3a-cde3-4af3-97c1-47c158a75103</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So, I am building a Silverlight 2 application related to my trip to Klipsch in Indianapolis
this year, and found what seems to be to be a terrible bug in Silverlight 2 beta 2.  <strong>Multiple
UIElements  cannot share event handlers</strong>.  What do I mean? 
In my case, I have varous Paths inside a canvas and I'm creating hotspots.  When
the mouse enters a given region, something slightly different will happen, however
the exact same method is called for every single region when the mouse exits that
Path.  So, suppose I have a Path called Damon, which happens to have some Damon-y
things inside it and I'm going to display my name:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">private</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">void</font>
        </font>
        <font size="2"> _damonPayne_MouseEnter(</font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">object</font>
        </font>
        <font size="2"> sender, </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">MouseEventArgs</font>
        </font>
        <font size="2"> e)
<p>
{
</p><p>
AddCallout(
</p></font>
        <font color="#a31515" size="2">
          <font color="#a31515" size="2">"D.R. Payne"</font>
        </font>
        <font size="2">, </font>
        <font color="#a31515" size="2">
          <font color="#a31515" size="2">"damonrpayne"</font>
        </font>
        <font size="2">, </font>
        <font color="#a31515" size="2">
          <font color="#a31515" size="2">"Hartford,
WI"</font>
        </font>
        <font size="2">, e);
<p>
}
</p></font>
        <p>
When the mouse exists, I simply remove the UIElement representing the callout, which
is the same for all regions on the page:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">private</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">void</font>
        </font>
        <font size="2"> _damonPayne_MouseLeave(</font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">object</font>
        </font>
        <font size="2"> sender, </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">MouseEventArgs</font>
        </font>
        <font size="2"> e)
<p>
{
</p><p>
RemoveOldCallout();
</p><p>
}
</p></font>
        <p>
Now, it would seem that I could make the functionality in RemoveOldCallout a MouseEventHandler
and share the same method among the various paths:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">protected</font>
        </font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">void</font>
        </font>
        <font size="2"> RemoveOldCallout(</font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">object</font>
        </font>
        <font size="2"> sender, </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">MouseEventArgs</font>
        </font>
        <font size="2"> e)
<p>
{
</p><p>
RemoveOldCallout();
</p><p>
}
</p><p></p></font>Now, if I have another Path, I should be able to write code like _someOtherPath.MouseLeave
+= new MouseEventHandler(RemoveOldCallout);  This code, however, bombs with the
following BadPropertyValue error:
<p>
 
</p><p><img border="0" src="http://www.damonpayne.com/content/binary/BadPropertyValue.png" /></p><p>
Now, I have to write a different MouseLeave event for every single path on my page,
and there's a lot of them.  I'll submit to Connect and hope this issue is fixed!
</p><img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=0f8e1c3a-cde3-4af3-97c1-47c158a75103" /></body>
      <title>Silverlight 2 Beta 2 Event Handler Bug</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,0f8e1c3a-cde3-4af3-97c1-47c158a75103.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/25/Silverlight2Beta2EventHandlerBug.aspx</link>
      <pubDate>Wed, 25 Jun 2008 17:54:43 GMT</pubDate>
      <description>&lt;p&gt;
So, I am building a Silverlight 2 application related to my trip to Klipsch in Indianapolis
this year, and found what seems to be to be a terrible bug in Silverlight 2 beta 2.&amp;nbsp;&amp;nbsp;&lt;strong&gt;Multiple
UIElements&amp;nbsp; cannot share event handlers&lt;/strong&gt;.&amp;nbsp; What do I mean?&amp;nbsp;
In my case, I have varous Paths inside a canvas and I'm creating hotspots.&amp;nbsp; When
the mouse enters a given region, something slightly different will happen, however
the exact same method is called for every single region when the mouse exits that
Path.&amp;nbsp; So, suppose I have a Path called Damon, which happens to have some Damon-y
things inside it and I'm going to display my name:
&lt;/p&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;private&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;void&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; _damonPayne_MouseEnter(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;MouseEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
AddCallout(
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;"D.R. Payne"&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;"damonrpayne"&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;"Hartford,
WI"&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;, e);&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
When the mouse exists, I simply remove the UIElement representing the callout, which
is the same for all regions on the page:
&lt;/p&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;private&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;void&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; _damonPayne_MouseLeave(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;MouseEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
RemoveOldCallout();
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
Now, it would seem that I could make the functionality in RemoveOldCallout a MouseEventHandler
and share the same method among the various paths:
&lt;/p&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;protected&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;void&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; RemoveOldCallout(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;MouseEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
RemoveOldCallout();
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;Now, if I have another Path, I should be able to write code like _someOtherPath.MouseLeave
+= new MouseEventHandler(RemoveOldCallout);&amp;nbsp; This code, however, bombs with the
following BadPropertyValue error:&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img border=0 src="http://www.damonpayne.com/content/binary/BadPropertyValue.png"&gt;
&lt;/p&gt;
&lt;p&gt;
Now, I have to write a different MouseLeave event for every single path on my page,
and there's a lot of them.&amp;nbsp; I'll submit to Connect and hope this issue is fixed!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=0f8e1c3a-cde3-4af3-97c1-47c158a75103" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,0f8e1c3a-cde3-4af3-97c1-47c158a75103.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=363d767c-0426-41bb-a6ca-cc5d011e6be7</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,363d767c-0426-41bb-a6ca-cc5d011e6be7.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,363d767c-0426-41bb-a6ca-cc5d011e6be7.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=363d767c-0426-41bb-a6ca-cc5d011e6be7</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I went to a Geek Dinner last night at <a href="http://www.botanasrestaurant.com/">Botanas
restaurant</a> in Milwaukee.  This was different than the Nerd Dinners that we
used to have.  The Nerd Dinners boiled down to people from the User Group socializing
in a more free-form fashion than is practical before/after user group presentations. 
The Geek Dinner we did last night was different.  The goal here was to bring
together technologists, business people/entrepenuers, and people looking to invest/veture
capitalists.  The result was a very cool time, for me at least.  There were
several "idea" people there with something they were trying to accomplish.  It
was fun (and I hope useful for them) to bring up potential pitfalls in the ventures
they are trying; I believe I may now be a tech advisor for some neat things going
on in Milwaukee.  I hope this becomes a regular occurance.
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=363d767c-0426-41bb-a6ca-cc5d011e6be7" />
      </body>
      <title>Geek dinner</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,363d767c-0426-41bb-a6ca-cc5d011e6be7.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/25/GeekDinner.aspx</link>
      <pubDate>Wed, 25 Jun 2008 16:57:32 GMT</pubDate>
      <description>&lt;p&gt;
I went to a Geek Dinner last night at &lt;a href="http://www.botanasrestaurant.com/"&gt;Botanas
restaurant&lt;/a&gt; in Milwaukee.&amp;nbsp; This was different than the Nerd Dinners that we
used to have.&amp;nbsp; The Nerd Dinners boiled down to people from the User Group socializing
in a more free-form fashion than is practical before/after user group presentations.&amp;nbsp;
The Geek Dinner we did last night was different.&amp;nbsp; The goal here was to bring
together technologists, business people/entrepenuers, and people looking to invest/veture
capitalists.&amp;nbsp; The result was a very cool time, for me at least.&amp;nbsp; There were
several "idea" people there with something they were trying to accomplish.&amp;nbsp; It
was fun (and I hope useful for them) to bring up potential pitfalls in the ventures
they are trying; I believe I may now be a tech advisor for some neat things going
on in Milwaukee.&amp;nbsp; I hope this becomes a regular occurance.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=363d767c-0426-41bb-a6ca-cc5d011e6be7" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,363d767c-0426-41bb-a6ca-cc5d011e6be7.aspx</comments>
      <category>Milwaukee .NET Community</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=619e80c3-6c35-4338-a547-ed51f6baf933</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,619e80c3-6c35-4338-a547-ed51f6baf933.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,619e80c3-6c35-4338-a547-ed51f6baf933.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=619e80c3-6c35-4338-a547-ed51f6baf933</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>Not for profit? Morally Bankrupt!</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,619e80c3-6c35-4338-a547-ed51f6baf933.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/24/NotForProfitMorallyBankrupt.aspx</link>
      <pubDate>Tue, 24 Jun 2008 20:58:59 GMT</pubDate>
      <description>&lt;p style="MARGIN: 0in 0in 10pt; TEXT-ALIGN: center" class=MsoNormal align=center&gt;
&lt;i style="mso-bidi-font-style: normal"&gt;&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;“The
Man creates - the parasite says ‘Where’s my share?’ ” - Bioshock&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;In cities all over America, state and local
governments are continually demanding that working, home-owning citizens shoulder
an ever increasing tax burden.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;These
taxes come in the form of state income taxes, gasoline taxes, sales taxes, and more.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No
single burden is as heavy as the property taxes levied on home owners.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;These
taxes are ostensibly to provide services such as waste removal, public schools, and
the like.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Beneath the seemingly benign
veneer of Public Service is a rotten core of income redistribution, rights violation,
and political pull for sale.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The offenses
are particularly grievous in the theory and practice of Not for Profit Organizations
(NPOs) in America.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;NPOs are able to apply for tax exempt status,
which tends to be universal in nature once granted.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Revenues
generated in excess of operating expenses are not taxed, sales tax is not paid, and
property tax on land and buildings owned by the entity is not collected.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Given
the relatively large amounts of money, we will focus on property taxes here.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;The first problem with this arrangement is
that there is no solid rational or moral foundation for giving favorable tax status
to one type of organization over another.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
fact that many NPOs operate charitable ventures as their primary activity does not
change this.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The activities undertaken
by an organization are the concern of the business, their clients, and owners as long
as the business is not breaking any laws or violating anyone’s individual rights.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
cannot be rationally supported that it is “in the public interest” to redistribute
income from for-profit businesses to NPOs so that they can run public-funded charities.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
Ayn Rand stated in The Virtue of Selfishness: &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;“&lt;i style="mso-bidi-font-style: normal"&gt;…there
is no such entity as “the public,” since the public is merely a number of individuals,
any claimed or implied conflict of “the public interest” with private interests means
that the interests of some men are to be sacrificed to the interests and wishes of
others.&lt;/i&gt;”&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;The income redistribution happening in favor
of NPOs is obvious.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No taxes of any kind
are paid, and yet taxpayer funded services are still consumed by these entities.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Consider
the example of a church in a small town.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Does
the garbage still get picked up?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Will
the fire department show up if the church is on fire?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Do
the police answer 911 calls from the church?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Is
there running water?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Is waste water treated?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;All
of these things are funded by property taxes and various extra fees on service bills
presented to normal citizens who lack the political pull and legal knowhow to create
a special status for themselves.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If a
small city of 10,000 people containing various private residences as well as churches
spends $100,000 per year on waste pickup services, the citizens who pay taxes are
directly paying for the NPOs.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Citizens
who belong to the churches likely don’t mind, but what about everyone else?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
the same example town, should the hindu(1)&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;family
really be subsidizing the services consumed by the evangelical christian (1) church?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Should
the atheist family be subsidizing either?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Of
course not, except for the threat of force, no one would choose to pay.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;In a true free market society, one would be
able to opt out of any service provided by the government and also no pay for it,
or ideally these services (fire, waste, etc.) would be provided by competing private
enterprises who had to convince me to use their service with a solid value proposition.
This is not the case in any municipality I know of, and it gets worse. As in &lt;u&gt;every&lt;/u&gt; case
where the government tampers with the market and takes away freedoms, there are unintended
side effects that distort the original intention of the laws that had no moral foundation
to begin with. Wealthy retirees in Milwaukee with legal and financial pull are forming
communities within the city (2) in order to avoid property taxes.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If
a resident having a heart attack calls 911, the costs associated for this necessary
and life saving service will be passed on in the form of ever-increasing property
tax burdens.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Because the tax exempt status
is near universal and practically unconditional, it is not restricted to the core
aims of the organization.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In the same
example town of 10,000 and countless other municipalities across America, religious
organizations are using excess donations to purchase large tracts of land for &lt;u&gt;speculation&lt;/u&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;A
private citizen doing so would be saddled with a hefty property tax bill, thereby
forcing them to carefully consider the risk and reward possibly by buying land.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
market is therefore severely distorted because the rules are not the same for all
participants.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is impossible for this
situation to continue, as Ayn Rand put it:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;“&lt;i style="mso-bidi-font-style: normal"&gt;In
any compromise between food and poison, it is only death that can win. In any compromise
between good and evil, it is only evil that can profit.&lt;/i&gt;” &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;In the ever-escalating practice of making
a smaller group of people support the lives of others, only evil can win and the process
cannot go on forever.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Eventually, those
who produce and pay will either opt-out of participating in this civilization or die
as they are unable to sustain their own lives.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Where
will the parasites get their free lunch then?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
the mean time, the happiness, goals, and values of some people are sacrificed to further
the happiness, goals, and values of others.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;This
is a morally bankrupt practice and indefensible state of affairs&lt;/b&gt;. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;The example town of 10,000 is in fact where
I live and not a theoretical example at all.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
2008 the property taxes for a 2,500 square foot home in this country town 35 miles
from Milwaukee will work out to be around $600 per month.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There
are no services to opt out of and no special status that most citizens could qualify
for – the sacrificers must outnumber and out produce those collecting the sacrifices
as a simple matter of mathematics.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
picture for retirement is particularly bleak and puts modern American life into perspective:
a retiree could responsibly save for retirement over the course of their career, pay
off their home mortgage, and still be forced to pay $600/month in today’s dollars
for the &lt;i style="mso-bidi-font-style: normal"&gt;privilege of having property that is
already rightfully theirs&lt;/i&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Of course,
the value of their home will adjust upwards for inflation every year, the actual tax
rate can go up any time for any reason, and their hard earned savings can be eroded
by the fiat currency policies of the Federal Reserve at any time by any amount.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;One cannot help but feel that in America in
the 21&lt;sup&gt;st&lt;/sup&gt; century, one does not actually &lt;i style="mso-bidi-font-style: normal"&gt;own&lt;/i&gt; property,
but rather one can lease it from the government for a non-negotiable and never ending
extortion amount.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;The root cause of these issues is the government’s
ability to tax any group for any reason and for any amount.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Besides
expanding government power far beyond protecting individual rights it creates an environment
where some citizens gain a protected and elevated status and all other citizens are
the losers who must pay the price for the lifestyles of others.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Citizens
are free to use their time and money to support any cause they favor, in other words
to work to gain and keep that which they value.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Waste
removal services are free to give away services to a charitable institution favored
by the ownership, and even though religious claims are not rationally supportable
one must support the right of private citizens to donate to these institutions if
they choose to do so.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Organizations with ideas that have merit will
be able to succeed on their own, and those that do not will rightfully fail. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Stop
using government force to make citizens subsidize protected organizations.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;font color=#4f81bd size=4 face=Cambria&gt;Footnotes&lt;/font&gt;
&lt;/h2&gt;
&lt;p style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&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 size=3 face=Calibri&gt;(1)&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=Calibri&gt;&lt;font size=3&gt;A
note on grammar: &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I have decided to refuse
to capitalize names of religious bodies, etc.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Such
habits only serve to reinforce the notion that religions are somehow special entities
deserving elevated status and beyond rational criticism.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=3&gt;I
do not share this opinion.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&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 size=3 face=Calibri&gt;(2)&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size=3 face=Calibri&gt;Please
see this Milwaukee Magazine article for information on these communities: &lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.milwaukeemagazine.com/currentIssue/full_feature_story.asp?NewMessageID=11063"&gt;&lt;font size=3 face=Calibri&gt;http://www.milwaukeemagazine.com/currentIssue/full_feature_story.asp?NewMessageID=11063&lt;/font&gt;&lt;/a&gt;&lt;font color=#000000 size=3 face=Calibri&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=619e80c3-6c35-4338-a547-ed51f6baf933" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,619e80c3-6c35-4338-a547-ed51f6baf933.aspx</comments>
      <category>Politics</category>
    </item>
    <item>
      <trackback:ping>http://www.damonpayne.com/Trackback.aspx?guid=16c39d7a-9937-4e80-823f-303c80dcd182</trackback:ping>
      <pingback:server>http://www.damonpayne.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.damonpayne.com/PermaLink,guid,16c39d7a-9937-4e80-823f-303c80dcd182.aspx</pingback:target>
      <dc:creator>Damon Payne</dc:creator>
      <wfw:comment>http://www.damonpayne.com/CommentView,guid,16c39d7a-9937-4e80-823f-303c80dcd182.aspx</wfw:comment>
      <wfw:commentRss>http://www.damonpayne.com/SyndicationService.asmx/GetEntryCommentsRss?guid=16c39d7a-9937-4e80-823f-303c80dcd182</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://dvanderboom.wordpress.com/2008/06/23/new-spin-on-spawning-threads/">Dan
has an article</a> showing some nice syntactical sugar for spawning threads. 
Dan has been studying the model of CCR, currently part of Robotics Studio.  The
article specifically mentions the Compact Framework, but if you are doing full-framework
development I would encourage you to check out the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;displaylang=en">Parallel
Extensions library</a> as well.  It was mentioned at TechEd that the CCR
might be refactored to use the TPL, so it'd be worth taking a peak at.  Using
System.Threading.Tasks you could write code that starts to look less like the traditional
ThreadStart code and more like what Dan is doing.  Without spending more than
30 seconds on this idea:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskCreationOptions</font>
        </font>
        <font size="2"> tco
= </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskCreationOptions</font>
        </font>
        <font size="2">.Detached;
<p></p></font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskManagerPolicy</font>
        </font>
        <font size="2"> tmp
= 
<p></p></font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">new</font>
        </font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskManagerPolicy</font>
        </font>
        <font size="2">(1, </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">Environment</font>
        </font>
        <font size="2">.ProcessorCount,1,0,
System.Threading.</font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">ThreadPriority</font>
        </font>
        <font size="2">.AboveNormal);
<p></p></font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskManager</font>
        </font>
        <font size="2"> tm
= </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">new</font>
        </font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">TaskManager</font>
        </font>
        <font size="2">(tmp);
<p></p><p></p></font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">Task</font>
        </font>
        <font size="2"> t
= </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">Task</font>
        </font>
        <font size="2">.Create(
<p>
(a) =&gt; { 
</p></font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">Console</font>
        </font>
        <font size="2">.WriteLine(</font>
        <font color="#a31515" size="2">
          <font color="#a31515" size="2">"doing
some work"</font>
        </font>
        <font size="2">); },
<p>
tm, tco); 
</p></font>
        <p>
If we start to see some multi-core mobile processors, it might be an interesting excercise
to port a subset of PFX to the Compact Framework.
</p>
        <img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=16c39d7a-9937-4e80-823f-303c80dcd182" />
      </body>
      <title>Spawning Threads</title>
      <guid isPermaLink="false">http://www.damonpayne.com/PermaLink,guid,16c39d7a-9937-4e80-823f-303c80dcd182.aspx</guid>
      <link>http://www.damonpayne.com/2008/06/23/SpawningThreads.aspx</link>
      <pubDate>Mon, 23 Jun 2008 18:05:23 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://dvanderboom.wordpress.com/2008/06/23/new-spin-on-spawning-threads/"&gt;Dan
has an article&lt;/a&gt; showing some nice syntactical sugar for spawning threads.&amp;nbsp;
Dan has been studying the model of CCR, currently part of Robotics Studio.&amp;nbsp; The
article specifically mentions the Compact Framework, but if you are doing&amp;nbsp;full-framework
development I would encourage you to check out the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en"&gt;Parallel
Extensions library&lt;/a&gt;&amp;nbsp;as well.&amp;nbsp; It was mentioned at TechEd that the CCR
might be refactored to use the TPL, so it'd be worth taking a peak at.&amp;nbsp; Using
System.Threading.Tasks you could write code that starts to look less like the traditional
ThreadStart code and more like what Dan is doing.&amp;nbsp; Without spending more than
30 seconds on this idea:
&lt;/p&gt;
&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskCreationOptions&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; tco
= &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskCreationOptions&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.Detached;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskManagerPolicy&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; tmp
= &gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskManagerPolicy&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;(1, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;Environment&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.ProcessorCount,1,0,
System.Threading.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;ThreadPriority&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.AboveNormal);&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskManager&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; tm
= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;TaskManager&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;(tmp);&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;Task&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; t
= &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;Task&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.Create(&gt;
&lt;p&gt;
(a) =&amp;gt; { 
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;Console&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.WriteLine(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;"doing
some work"&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;); },&gt;
&lt;p&gt;
tm, tco); 
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
If we start to see some multi-core mobile processors, it might be an interesting excercise
to port a subset of PFX to the Compact Framework.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.damonpayne.com/aggbug.ashx?id=16c39d7a-9937-4e80-823f-303c80dcd182" /&gt;</description>
      <comments>http://www.damonpayne.com/CommentView,guid,16c39d7a-9937-4e80-823f-303c80dcd182.aspx</comments>
      <category>Concurrency</category>
      <category>TechEd</category>
    </item>
  </channel>
</rss>