<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
 <channel>
  <title>.NET Developers Blog</title>
  <link>http://www.enderminh.com/netdev/</link>
  <description>An aggregated blog of non-Microsoft .NET developers.</description>
  <language>en-us</language>
  <item>
   <title><![CDATA[Note on Customizing Content Query Web Part]]></title>
   <link>http://weblogs.asp.net/coltk/archive/2008/05/17/note-on-customizing-content-query-web-part.aspx</link>
   <description><![CDATA[<P mce_keep="true">Content Query Web Part (CQWP) is a powerful feature in SharePoint, where users can create custom view of data that is queried from various sources, lists, libraries, and present all in one web part. One of my tasks yesterday is to create a content query web part, and query the contents from two sub-sites. Specifically, I have 2 calendars in 2 sub-sites and I have to query all events and combine into a master calendar in the top site (Of course I can make use of the great filtering, sorting and grouping features in CQWP).</P>
<P>After adding the CQWP, my next step is to customize the layout because the default one is too plain. I google and find all these useful articles:</P>
<UL>
<LI><A href="http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!491.entry">Display Content Query Web Part Results in a Grid / Table</A></LI>
<LI><A href="http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx">Customizing the Content Query Web Part and Custom Item Styles</A></LI>
<LI><A href="http://msdn.microsoft.com/en-us/library/bb447557.aspx">How to: Customize XSL for the Content Query Web Part</A></LI>
<LI><A href="http://msdn.microsoft.com/en-us/library/aa981241.aspx">How to: Customize the Content Query Web Part by using Custom Properties</A></LI>
<LI><A class="" href="http://blogs.msdn.com/ecm/archive/2006/10/25/configuring-and-customizing-the-content-query-web-part.aspx" target=_blank mce_href="http://blogs.msdn.com/ecm/archive/2006/10/25/configuring-and-customizing-the-content-query-web-part.aspx">Configuring and Customizing the Content Query Web Part</A> </LI></UL>
<P>One of the techniques in customizing CQWP layout is to make use of internal field name and modify CommonViewFields in the exported .webpart file. I follow all steps, modify the .webpart and xsl files as I wish, but I still can't display the content in my CQWP (I can see some other default fields like Title though). </P>
<P>Later, I find the bug is at the key element - CommonViewFields - It does not allow SPACE in the value string. For example: </P>
<P>Wrong: &nbsp;&lt;property name="CommonViewFields" type="string"&gt;Title, Text; Description, Note;&lt;/property&gt;</P>
<P>Correct: &lt;property name="CommonViewFields" type="string"&gt;Title,Text;Description,Note&lt;/property&gt;</P>
<P>My note is that we developers cannot add SPACE when typing the value, or even anywhere in the tag. And, we should not add a semi-colon at the end of the string.</P>
<P>P.S. After customizing the layout and fields on the CQWP, we will most probably need to format the field, such as changing the time format of a DateTime field, number of decimal points etc, and here is a very useful reference article: <A class="" href="http://www.microsoft.com/belux/msdn/nl/community/columns/stevenvandecraen/contentquerywebpart.mspx" target=_blank mce_href="http://www.microsoft.com/belux/msdn/nl/community/columns/stevenvandecraen/contentquerywebpart.mspx">Customizing the Content Query Web Part XSL</A></P><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6197713" width="1" height="1">]]></description>
   <dc:creator>Colt Kwong</dc:creator>
   <dc:date>5/16/2008 8:36:13 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Welcome to Atlanta]]></title>
   <link>http://www.chrishammond.com/DesktopModules/EngagePublish/itemlink.aspx?itemId=1190</link>
   <description><![CDATA[Short post, it's late, too much work to do, and I need to get to sleep soon.

Nick and I made it to Atlanta, took 11.5-12 hours, too long, stupid traffic!
]]></description>
   <dc:creator>Chris Hammond</dc:creator>
   <dc:date>5/16/2008 8:33:33 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[ New posts of  source code about old Asp.net custom controls]]></title>
   <link>http://geekswithblogs.net/mnf/archive/2008/05/16/new-posts-of--source-code-about-old-asp.net.aspx</link>
   <description><![CDATA[<p>I've found in my source code library a few custom ASP.NET controls that could be useful for someone.</p>
<p>
</p><table style="mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" cellspacing="0" cellpadding="0" border="0" class="MsoNormalTable">
    <tbody>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><a title="View Entry" href="http://geekswithblogs.net/mnf/archive/2008/05/16/asp.net-custom-control-textfileviewercontrol.aspx">ASP.NET custom control TextFileViewerControl</a> <o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 1">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><a id="ctl00_pageContent_Editor_Results_rprSelectionList_ctl02_HyperLink1" title="View Entry" href="http://geekswithblogs.net/mnf/archive/2008/05/16/asp.net-composite-control-fromtotextboxes.aspx"><font color="#606420">ASP.NET composite control FromToTextBoxes</font></a> <o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 2">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><a title="View Entry" href="http://geekswithblogs.net/mnf/archive/2008/05/16/asp.net-custom-control-checkboxwithimage.aspx"><font color="#606420">ASP.NET custom control CheckBoxWithImage</font></a> <o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><o:p> </o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"><a id="ctl00_pageContent_Editor_Results_rprSelectionList_ctl04_HyperLink1" title="View Entry" href="http://geekswithblogs.net/mnf/archive/2008/05/05/my-querystringhelper-class..aspx">My QueryStringHelper class. </a><o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 10pt"><o:p><font face="Times New Roman"> </font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 10pt"><o:p><font face="Times New Roman"> </font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 10pt"><o:p><font face="Times New Roman"> </font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 10pt"><o:p><font face="Times New Roman"> </font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-AU" style="FONT-SIZE: 10pt"><o:p><font face="Times New Roman"> </font></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p><a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122211"><img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122211" border="0"/></a></p><iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;PageID=31016&amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No>
<script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Browser=NETSCAPE4&amp;NoCache=True&PageID=31016&amp;SiteID=1"></script>
<noscript><a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Click&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" target="_blank">
<img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" width="1" height="1" border="0"  alt=""></a>
</noscript>
</iframe>
<img src="http://geekswithblogs.net/mnf/aggbug/122211.aspx" width="1" height="1" />]]></description>
   <dc:creator>Michael Freidgeim</dc:creator>
   <dc:date>5/16/2008 7:53:41 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Oddities in F#/C# interaction]]></title>
   <link>http://www.sturmnet.org/blog/archives/2008/05/16/oddities-in-fc-interaction/</link>
   <description><![CDATA[	I have been working on getting a sample for using XPO from F#. My first sample was easily created back in January this year:
	#light 
	
open DevExpress.Xpo
	
type Person = class
  inherit XPObject as base
	
  public new(session : Session) = { inherit XPObject(session);
    name = string.Empty
  }
	
  val mutable private [...]]]></description>
   <dc:creator>Oliver Sturm</dc:creator>
   <dc:date>5/16/2008 4:36:21 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[7 Simple Questions for Service Selection]]></title>
   <link>http://feeds.feedburner.com/~r/UdiDahan-TheSoftwareSimplist/~3/291938916/</link>
   <description><![CDATA[&#8220;So, which services do I need?&#8221;
This innocuous question comes up a lot. Usually I get this question after a short problem domain description. One of these came up on the nServiceBus discussion groups. Ayende took it and ran with it turning it into a nice blog post, An exercise in designing SOA systems. I&#8217;ve been [...]]]></description>
   <dc:creator>Udi Dahan - The Software Simplist</dc:creator>
   <dc:date>5/16/2008 3:57:37 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Silverlight Consuming REST Services]]></title>
   <link>http://codebetter.com/blogs/john.papa/archive/2008/05/16/silverlight-consuming-rest-services.aspx</link>
   <description><![CDATA[<p>I just finished writing the first draft of a sample I am including in <a href="http://johnpapa.net/all/as-it-once-was-i-am-writing-a-book/">my upcoming book tentatively titled Data Access with Silverlight 2 by O&#39;Reilly</a>. Without giving too much away yet since the final details of the contract are not set in stone, the application example consumes a REST service, manipulates it through LINQ to XML, and binds it to various controls and some composite controls. The interaction with the <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> (REpresentational State Transfer) services is pretty slick and quite easy when using Silverlight and LINQ to XML. Of course there are always issues to deal with, but overall it works very nicely.</p>  <p>Why use REST? Well, REST services are becoming more abundant on the web. They do not expose a contract like WCF so when you deal with this type of data you can parse the XML using LINQ to XML or some other XML tools (though LINQ TO XML is so smooth why bother with anything else in this case). So this raw XML comes barreling into your Silverlight application asynchronously, LINQ to XML makes it fall in line, and its bound to where it needs to go via XAML.</p>  <p>Sending data back via REST is also very cool. I&#39;ve got that working now too. I have to be careful not to go overboard fine tuning the examples though or the book will never get written :) Interacting with REST from Silverlight applications is just one piece of the data access puzzle, but its pretty cool.</p>  <p><img height="240" src="http://johnpapa.net/images/book2.png" width="183" alt="" />&#160;</p>  <p>Cross posted from <a href="http://johnpapa.net/">johnpapa.net</a></p><img src="http://codebetter.com/aggbug.aspx?PostID=178330" width="1" height="1">]]></description>
   <dc:creator>John Papa</dc:creator>
   <dc:date>5/16/2008 2:34:08 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Upcoming Chicago Architecture Group Presentation]]></title>
   <link>http://geekswithblogs.net/tmurphy/archive/2008/05/16/upcoming-chicago-architecture-group-presentation.aspx</link>
   <description><![CDATA[<p>The Chicago Architecture Group will be holding a presentation on June 5th.  Below is the information and a link to register.  I hope to see you there.</p>
<strong>Service Oriented Architecture Myth and Reality ; A Report from the Front Lines</strong>
<p>by David Dickinson<br />
Followed by open forum</p>
<a href="http://chicagoarchitectsgroup.eventbrite.com/">http://chicagoarchitectsgroup.eventbrite.com/</a><p><a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122201"><img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122201" border="0"/></a></p><iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;PageID=31016&amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No>
<script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Browser=NETSCAPE4&amp;NoCache=True&PageID=31016&amp;SiteID=1"></script>
<noscript><a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Click&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" target="_blank">
<img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" width="1" height="1" border="0"  alt=""></a>
</noscript>
</iframe>
<img src="http://geekswithblogs.net/tmurphy/aggbug/122201.aspx" width="1" height="1" />]]></description>
   <dc:creator>Tim Murphy</dc:creator>
   <dc:date>5/16/2008 1:07:57 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[New Podcast Episode]]></title>
   <link>http://weblogs.asp.net/derekh/archive/2008/05/16/new-podcast-episode.aspx</link>
   <description><![CDATA[Posted at <b>Derek Hatchard blogs on</b> by Derek Hatchard (<a href='http://derekh.com/index.php/2008/05/16/new-podcast-episode/'>Go directly to post</a>): <blockquote style='font-style: italic'>The latest of episode of Devcasting is posted (finally):
http://devcasting.com/index.php/2008/05/16/devcasting-11-rob-windsor-on-many-things/
</blockquote><a href='http://derekh.com/index.php/2008/05/16/new-podcast-episode/'>Go to post</a><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6196432" width="1" height="1">]]></description>
   <dc:creator>Derek Hatchard</dc:creator>
   <dc:date>5/16/2008 12:33:42 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Automatic Properties and Object Initializers in .Net 3.5]]></title>
   <link>http://community.devpinoy.org/blogs/trashvin/archive/2008/05/16/automatic-properties-and-object-initializers-in-net-3-5.aspx</link>
   <description><![CDATA[<p>With the release of .Net 3.5 alongside with Visual Studio 2008 , new
enhancements was again introduced . Some maybe well pronounced such as
the inclusion of WCF, WPF , LINQ in .Net 3.0 and some just came
unnoticed. If you have been accustomed of using a particular method or
technique in implementing a certain code in .Net 2.0 , because of
backward compatibility , you may not even notice that there are new
ways of implementing it in .Net 3.5.<br /><br />Here are two new concepts in .Net 3.5 that a developer may not notice ( at least in my opinion ) : <span style="font-weight:bold;">Automatic Properties</span> and O<span style="font-weight:bold;">bject Initializers</span>
. To illustrate these two , I am going to present the pre-.Net 3.5 way
(.Net 2.0) and the .Net 3.5 way in creating a simple class with simple
properties.</p><p><a href="http://trashvin.blogspot.com/2008/05/automatic-properties-and-object.html">Read More on this Article</a> <br /></p><img src="http://community.devpinoy.org/aggbug.aspx?PostID=24887" width="1" height="1">]]></description>
   <dc:creator>DevPinoy.Org</dc:creator>
   <dc:date>5/16/2008 11:37:13 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Mobile Application Development Webcasts]]></title>
   <link>http://dotnetjunkies.com/WebLog/paul/archive/2008/05/16/469331.aspx</link>
   <description><![CDATA[<a href="http://blogs.msdn.com/croman/archive/2008/05/16/reminder-webcast-series-on-mobile-application-development-starting-today.aspx">Reminder: Webcast Series on Mobile Application Development starting today</a><BR><BR>A 5-part Webcast series on Mobile Application Development is starting today at 2PM EST. <a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032379365&EventCategory=4&culture=en-US&CountryCode=US">An introduction into Mobile Application development</a>.<img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=469331" width="1" height="1">]]></description>
   <dc:creator>Paul Mooney</dc:creator>
   <dc:date>5/16/2008 10:19:51 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Testing Environments]]></title>
   <link>http://adronbhall.com/blogs/technology__software_development/archive/2008/05/16/7027.aspx</link>
   <description><![CDATA[The new project is going to require multiple OS, Browser, and Office versions support.&nbsp; This is just a list of my ideal platforms to test for.&nbsp; In other words, "What I find acceptable to build modern platform tools to".  OS - OS-X, Linux, Windows Vista, and Windows&nbsp;XP (In order of growing priority, with the later two possibly swapping spaces in the next year or two)  Browsers - FireFox, Opera, Safari, IE (I'm not even touching the absurdity of IE6 though)  Office 2003, Office 2007.&nbsp;...(<a href="http://adronbhall.com/blogs/technology__software_development/archive/2008/05/16/7027.aspx">read more</a>)<img src="http://adronbhall.com/aggbug.aspx?PostID=7027" width="1" height="1">]]></description>
   <dc:creator>Adron Hall</dc:creator>
   <dc:date>5/16/2008 9:37:04 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Follow me on Twitter]]></title>
   <link>http://weblogs.asp.net/wallym/archive/2008/05/16/follow-me-on-twitter.aspx</link>
   <description><![CDATA[<P mce_keep="true">As if we don't have enough things that waste our time, follow my comments about life and things upto 140 characters on twitter.&nbsp; My twitter url is <A href="http://twitter.com/wbm" mce_href="http://twitter.com/wbm">http://twitter.com/wbm</A> and enjoy.</P>
<P mce_keep="true">PS.&nbsp; If you follow me, I'll follow you, assuming you aren't a twitter spammer.</P><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6195856" width="1" height="1">]]></description>
   <dc:creator>Wallace B. McClure</dc:creator>
   <dc:date>5/16/2008 8:40:37 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[SAML and Federated Identity - Part 3 Claims Links]]></title>
   <link>http://feeds.feedburner.com/~r/SamGentile/~3/281845734/saml-and-federated-identity-part-3-claims-links.aspx</link>
   <description><![CDATA[<p>I am going to have to name this series something else but can&#39;t think of it right now. Anyhow, we&#39;re off into Claim-Based Security and I am writing a post, but until then some links:</p>
<ul>
<li><a href="http://www.leastprivilege.com/CategoryView.aspx?category=IdentityModel">Dominick&#39;s posts on IdentityModel</a></li>
<li><a href="http://www.leastprivilege.com/IdentityModel/">Dominck&#39;s LeastPrivilege.IdentityModel library</a></li>
<li>Kim Cameron&#39;s <a href="http://www.identityblog.com/?p=354">The Laws of Identity</a> </li>
<li><a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel">Michele&#39;s Building a Claims-Based Security Model in WCF Part 1</a></li>
<li><a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel2">Part 2</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc309508.aspx">Microsoft SAB</a></li>
<li><a href="http://www.codeplex.com/sharpSTS" target="_blank">sharpSTS</a> is a C# library for developing Information Card Security Token Servers. </li>
<li>Dominick&#39;s <a href="http://www.leastprivilege.com/IdentityModel/InfoCardSelector/">ASP.NET control for Information Cards</a>. </li>
<li>Whole bunch of resources <a class="" href="https://sharpsts.com/resources.aspx">here<br /></a></li></ul><img src="http://samgentile.com/aggbug.aspx?PostID=3319" width="1" height="1"><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/SamGentile?a=rnty7H"><img src="http://feeds.feedburner.com/~f/SamGentile?i=rnty7H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=CBIiLH"><img src="http://feeds.feedburner.com/~f/SamGentile?i=CBIiLH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=hUpZEH"><img src="http://feeds.feedburner.com/~f/SamGentile?i=hUpZEH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=tvTLzh"><img src="http://feeds.feedburner.com/~f/SamGentile?i=tvTLzh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=3vlcNh"><img src="http://feeds.feedburner.com/~f/SamGentile?i=3vlcNh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=ESJAdh"><img src="http://feeds.feedburner.com/~f/SamGentile?i=ESJAdh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SamGentile?a=HbIoJH"><img src="http://feeds.feedburner.com/~f/SamGentile?i=HbIoJH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SamGentile/~4/281845734" height="1" width="1"/>]]></description>
   <dc:creator>Sam Gentile</dc:creator>
   <dc:date>5/16/2008 8:33:55 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Come to GANG next week!]]></title>
   <link>http://weblogs.asp.net/psteele/archive/2008/05/16/come-to-gang-next-week.aspx</link>
   <description><![CDATA[<p>Next week, our local user group (<a href="http://www.migang.org/" target="_blank">GANG</a>) is having Jason Beres -- INETA Speaker and Director of Product Management for Infragistics -- come and talk about building applications with Silverlight 2.0.&nbsp; I'm really looking forward to this one since I haven't had time to dive into Silverlight myself.&nbsp; Come on down to <a href="http://www.microsoft.com/about/companyinformation/usaoffices/heartland/southfield.mspx" target="_blank">Microsoft's Southfield, Michigan offices</a> on Wednesday, May 21st at 6:30pm.</p> <p>PS: Sorry about the <a href="http://www.migang.org/" target="_blank">GANG website</a> -- it's a little plain right now.&nbsp; We're in the middle of re-working the website and should have the new one up before next weeks meeting.</p><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6195592" width="1" height="1">]]></description>
   <dc:creator>Patrick Steele</dc:creator>
   <dc:date>5/16/2008 8:26:12 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[ReSharper in Detail: Complete Statement Scenarios]]></title>
   <link>http://blogs.jetbrains.com/dotnet/2008/05/resharper-in-detail-complete-statement-scenarios/</link>
   <description><![CDATA[One of new features provided in ReSharper 4.0 - Complete Statement - works in numerous coding scenarios. Some of them are listed in this post.]]></description>
   <dc:creator>JetBrains, Inc.</dc:creator>
   <dc:date>5/16/2008 8:11:46 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Strategien zu Branching und Merging in VSTS]]></title>
   <link>http://tomicic.de/2008/05/16/StrategienZuBranchingUndMergingInVSTS.aspx</link>
   <description><![CDATA[<p>
<img border=0 hspace=10 align=right src="http://tomicic.de/content/binary/sample12.gif">Mein
Kollege, Frank Zehelein, gab auf der "<em>TeamConf 2008</em>" in München seine Erfahrungen
bei Branching und Merging mit VSTS in einem Vortrag weiter. 
</p>
<p>
Hier möchte ich seine Vortragsfolien [1] zur Verfügung stellen, da die Inhalte sicherlich
für viele, die sich mit VSTS in der täglichen Arbeit auseinandersetzen, sehr nützlich
sein können.
</p>
<p>
[1] <a href="http://tomicic.de/content/binary/TeamConf_Branching_Merging.pdf">TeamConf_Branching_Merging.pdf
(1,12 MB)</a>
</p>
<img width="0" height="0" src="http://tomicic.de/aggbug.ashx?id=ef91d119-6737-417a-a99b-d336084396e4" />]]></description>
   <dc:creator>Damir Tomicic</dc:creator>
   <dc:date>5/16/2008 7:56:49 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Compleanni... Virtuali]]></title>
   <link>http://blogs.ugidotnet.org/pape/archive/2008/05/16/compleanni.-virtuali.aspx</link>
   <description><![CDATA[<p>Alessandro <a href="http://www.virtualization.info/" target="_blank">ricorda</a> che ieri <a href="http://www.vmware.org" target="_blank"><strong>VMWare</strong></a> ha compiuto il decimo anno di età, e non posso che accodarmi agli auguri: considerando i miei ultimi 10 anni di "carriera professionale", "architettura" e "virtualizzazione" sono state le "folgorazioni" che più mi hanno segnato. So che ciò che sto per scrivere mi collocherà una volta di più nella casellina degli "uber geek", ma i feticci professionali cui sono più legato sono probabilmente proprio le fatture d'acquisto di <strong>VMWare 1.0</strong> (datata 7 febbraio 2000) e <strong>Rational Rose</strong> (datata 18 maggio 2000). </p>  <p>Ricordo quanto tormentata fu la scelta di effettuare investimenti così onerosi (<strong>Rose</strong> lo pagai 3.830.000 lire +IVA, <strong>VMWare</strong> fortunatamente un bel po' meno e le versioni successive le ebbi gratis in qualità di <a href="http://www.microsoft.com/learning/mcp/mct/" target="_blank">MCT</a>) per un freelance, ma a tutt'oggi sono soddisfatto della mia scelta e mi diverto un sacco a gestire il cluster <a href="http://www.vmware.com/products/vi/" target="_blank">ESX</a> che ho installato in <a href="http://www.manageddesigns.it/" target="_blank">bottega</a>, tampinando proprio <a href="http://www.alessandroperilli.com/" target="_blank">l'amico Ale</a> quando ho un problema che nessuno può risolvere (e non riesco a trovare l'<a href="http://it.wikipedia.org/wiki/A-Team" target="_blank">A-team</a> &lt;g&gt;). </p>  <p>E poi si sa: l'<a href="http://en.wikipedia.org/wiki/Hypervisor" target="_blank">hypervisor</a> fa parte delle invenzioni più determinanti nella Storia dell'Uomo, al pari di: ruota, fuoco e... Sedile reclinabile &lt;g&gt;</p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d8e5fb76-1610-45ae-8ad1-b2a4b994ead1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tag: <a href="http://technorati.com/tags/managed%20designs" rel="tag">managed designs</a>,<a href="http://technorati.com/tags/rational%20rose" rel="tag">rational rose</a>,<a href="http://technorati.com/tags/virtualizzazione" rel="tag">virtualizzazione</a>,<a href="http://technorati.com/tags/vmware" rel="tag">vmware</a></div><img src="http://blogs.ugidotnet.org/pape/aggbug/92696.aspx" width="1" height="1" />]]></description>
   <dc:creator>Andrea Saltarello</dc:creator>
   <dc:date>5/16/2008 7:49:17 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[May Meet And Code Dinner]]></title>
   <link>http://www.codethinked.com/post/2008/05/May-Meet-And-Code-Dinner.aspx</link>
   <description><![CDATA[<p>We are going to hold our third "Meet and Code" dinner ("Geek Dinner" if you will) on Thursday May 29th. <a href="http://www.snagajob.com/">SnagAJob.com</a> is generously providing us with a meeting space. They are located at <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=4880+Cox+Road,+Suite+200+Glen+Allen,+VA+23060&amp;sll=37.0625,-95.677068&amp;sspn=42.310334,59.414063&amp;ie=UTF8&amp;ll=37.66772,-77.569313&amp;spn=0.010361,0.014505&amp;z=16&amp;iwloc=addr">4880 Cox Road, Suite 200 Glen Allen, VA 23060</a>, which is in Innsbrook on Cox road just after you cross over Nuckols road.</p> <p>The "Meet and Code" dinners are an open forum for developers to come and discuss anything any everything they want. You can give a mini-presentation if you want, or you could bring a problem that you have from work for other developers to take a look at. There will also be some food provided, some come hungry!</p> <p>We have applied for an account on Microsoft's Click To Attend site, so we will add a signup link soon!</p>
<p><a href="http://feeds.codethinked.com/~a/Codethinked?a=M615Jz"><img src="http://feeds.codethinked.com/~a/Codethinked?i=M615Jz" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.codethinked.com/~f/Codethinked?a=VuLeXH"><img src="http://feeds.codethinked.com/~f/Codethinked?i=VuLeXH" border="0"></img></a> <a href="http://feeds.codethinked.com/~f/Codethinked?a=ohOPRH"><img src="http://feeds.codethinked.com/~f/Codethinked?i=ohOPRH" border="0"></img></a> <a href="http://feeds.codethinked.com/~f/Codethinked?a=WM9UIh"><img src="http://feeds.codethinked.com/~f/Codethinked?i=WM9UIh" border="0"></img></a>
</div><img src="http://feeds.codethinked.com/~r/Codethinked/~4/291281133" height="1" width="1"/>]]></description>
   <dc:creator>Justin Etheredge</dc:creator>
   <dc:date>5/15/2008 5:03:18 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Typemock Isolator 4.2.4 is out]]></title>
   <link>http://feeds.feedburner.com/~r/Iserializable/~3/291210072/typemock-isolator-4-2-4-is-out.aspx</link>
   <description><![CDATA[Typemock Isolator 4.2.4 is out with some important fixes . <a href="http://blog.typemock.com/2008/05/typemock-isolator-v424-released.html">More information here</a>.<img src="http://weblogs.asp.net/aggbug.aspx?PostID=6193554" width="1" height="1">
<p><a href="http://feeds.feedburner.com/~a/Iserializable?a=X9WppI"><img src="http://feeds.feedburner.com/~a/Iserializable?i=X9WppI" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Iserializable?a=wbknEH"><img src="http://feeds.feedburner.com/~f/Iserializable?i=wbknEH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Iserializable?a=1R0xmH"><img src="http://feeds.feedburner.com/~f/Iserializable?i=1R0xmH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Iserializable?a=CIS9lh"><img src="http://feeds.feedburner.com/~f/Iserializable?i=CIS9lh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Iserializable/~4/291210072" height="1" width="1"/>]]></description>
   <dc:creator>Roy Osherove</dc:creator>
   <dc:date>5/15/2008 3:19:59 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Anatomy of an ASP.NET site for amusement park fanboys]]></title>
   <link>http://weblogs.asp.net/jeff/archive/2008/05/15/anatomy-of-an-asp-net-site-for-fanboys.aspx</link>
   <description><![CDATA[<p>This is a post I've meant to write for a very long time. Since 1998, my part-time job of sorts has been to maintain a number of community sites. One of those, started ten years ago, was <i>Guide to The Point</i>. "The Point" in this case is Cedar Point, an amusement park an hour west of Cleveland and about two hours from Detroit. It's home to more roller coasters than any other place on earth, and for people how grow up in the region, it's a summer ritual. In 2004, I joined forced with a friend doing another site, and we called it <a href="http://www.pointbuzz.com/" target="_blank" mce_href="http://www.pointbuzz.com/"><i>PointBuzz</i></a>, inspired in name by my woefully neglected general coaster enthusiast site <a href="http://www.coasterbuzz.com/" target="_blank" mce_href="http://www.coasterbuzz.com/"><i>CoasterBuzz</i></a>. These sites have become a business to a certain degree, since the ad revenue isn't exactly small coin. And if you can make money doing something you enjoy, why not?<br></p><p>Late last year we rebuilt the site. The old version was still running on v1.1 of .NET, and frankly a lot of the code was vintage 2001 stuff built on the beta of .NET. Our goals for rebuilding it were to concentrate on what we were good at: news, forums and photos. Our previous attempt ended up being a huge array of content that, frankly, was just as easily found on the official Cedar Point site and we didn't really have time to maintain it. A secondary goal was to boost performance (the site peaks around a million page views a month, sometimes as much as 100k a day) and get the code base into something maintainable. Let's face it, in 2001 I barely understood what OOP was, and even in 2004, prior to writing my book and having experience in a giant company, I had a lot to learn. The app as a whole was rather fragile when it came time to change something.</p><p>Naturally the first priority for me was rewriting <a href="http://www.popforums.com/Forums/default.aspx" target="_blank" mce_href="http://www.popforums.com/Forums/default.aspx">POP Forums</a>. The benefit of experience is that I know how many things I did poorly in the previous version from late 2003. I've tried to eliminate much of that legacy, but there are still things I find in my code, often inconsequential, that should be different, like checking for a string to be empty or null instead of String.IsNullOrEmpty(). I spent literally years trying to make it work with Membership and Profile in a way that I liked, and generally it did, but I abandoned that cause. You had to give stuff up too often when making efficient database calls, and that annoyed me. It's not that there aren't logical architectural solutions, it's that I was spending all kinds of time worrying about it, when I was the first and primary user of the app!</p><p>What was important to me was using a little AJAX where it made sense, and using the ASP.NET AJAX framework for any client script I had. The version you can download doesn't have it yet, but the version running on PointBuzz does, and I'm very pleased with the way you can encapsulate it and reuse it. The primary use is to load stuff into the page, like user profile data, dynamically. Most forums who you the user's name, number of posts, astrological sign and other useless shit that doesn't advance discussion, and I've always been annoyed by that. (Heck, you've been able to turn off signatures and profiles in my app, also annoying, since 2003.) So I just load that when a user chooses to view it. I also do first post previews this way, but not as tool tips the way vBulletin does (because I find that annoying too). Finally, I refactored the mess that is my rich text control, dating back to 2000 at least, so that it uses the AJAX framework.</p><p>The forum app does a whole lot of caching, but not to an extent that it isn't necessary. In old versions, I found that it wasn't holding on to much because the cache collection got enormous and it was always cycling items out. I also didn't cache on a paged basis, so if you viewed a topic with 1,000 posts, it read and cached the whole thing. That was silly. I've found that nearly all of the performance tweaks have to do with the database and caching, which I guess is certainly no surprise.</p><p>Custom controls were also a big part of it, using list controllers to handle UI elements based on the data they created. I had mixed success with this, because the thread page still has a lot of code in it because of all the stuff going on. On the other hand, the forum index page is pretty lean in code-behind. Doing custom templated controls also helps, because you can easily drop in an ad, for example, in between forums, topics or posts.</p><p>I prototyped a search engine for the forum way, way back in 2004, and after some tweaking I got something I'm pretty happy with. The SQL is incredibly ugly, but the performance isn't bad. Basically, when a post is updated, it's marked for indexing. A background thread on a timer dissects all of the words, throws out the junk and scores them on frequency and appearance in the title. I think the scoring formula needs some work, but most of the time I get pretty relevant results.<br></p><p>Honestly I could probably talk about the forum as a stream of consciousness forever, so I'll move on to photos. The truth is, we have too many. Walt, my partner on the site, went through a document everything phase, and we have over 6,000 photos to prove it. This is honestly not a totally solved problem. We have categories and albums as units of navigation, and we also have tags. The truth is that people generally go to photos of the roller coasters or to albums we link to from news items. We don't know if that's good enough, and we have thousands of photos untagged.</p><p>From a code standpoint, we started testing the photo app months before re-launching with live data. Contrary to the advice a lot of people gave me, I decided to store the photos in the database. My reasoning had mostly to do with ease of backing up. HttpHandlers serve the images and the thumbnails, and frankly I've not encountered any performance issues at all. I also kept permissions for editing the photo collection as abstract as possible. There's a simple HttpModule that does the required plumbing to map forum user data into the photo app. I can just as easily wire it up to anything else.</p><p>The news management is nothing special, and as such doesn't exist as its own project. The only interesting thing is that it will replace the first post of a special forum topic with a user control that has the news item in it, so essentially there are two views of it, either in the forum or the regular news page.</p><p>That's really the bulk of the site. The forum is used for all the member handling junk and e-mail.</p><p>Incidentally, I do hope to have another beta of the forum out soon. In addition to the items I listed on the PF site, I've also rewritten the private messaging.</p><p>A question I get a lot is, "Why not just use stuff that's already out there?" Aside from being my own code monkey, all of the stuff out there tries to be too many things to too many people. I don't have excessive database tables to deal with, superfluous UI, rigid style elements, etc. The forum is a lot of code, sure, but overall the rest of this stuff isn't hard to roll on your own. If you've got the skills, why not?<br></p><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6192887" width="1" height="1">]]></description>
   <dc:creator>Jeff Putz</dc:creator>
   <dc:date>5/15/2008 11:02:58 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Spherical/Web Mercator: EPSG code 3785]]></title>
   <link>http://www.iter.dk/post/2008/05/SphericalWeb-Mercator-EPSG-code-3785.aspx</link>
   <description><![CDATA[<p>
I just received an update from the EPSG mailing list:
</p>
<p>
New to Version 6.15 are (among other things): <em><strong>Added spherical Mercator coordinate operation method and associated CRS as seen in popular web mapping and visualisation applications.</strong></em>
</p>
<p>
<em></em>It looks like they FINALLY added the spherical Mercator / Web Mercator projection used in Virtual Earth and Google Maps.
</p>
<p>
This is a big surprise. EPSG&rsquo;s earlier statement whether to include it was this:
</p>
<p>
&quot;<em>We have reviewed the coordinate reference system used by Microsoft, Google, etc. and believe that it is technically flawed. We will not devalue the EPSG dataset by including such inappropriate geodesy and cartography.</em>&rdquo;
</p>
<p>
 guess they changed their mind, or they just devalued the dataset ?
</p>
<p>
Anyway, finally we get an official code for !
</p>
<p>
Here are the details of the entry:<br />
<font face="courier new,courier">COORD_REF_SYS_CODE: 3785<br />
COORD_REF_SYS_NAME: Popular Visualisation CRS / Mercator&nbsp;&nbsp;&nbsp; <br />
AREA_OF_USE_CODE: 3544&nbsp;&nbsp;&nbsp; <br />
COORD_REF_SYS_KIND: projected&nbsp;&nbsp;&nbsp; <br />
COORD_SYS_CODE: 4499&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
DATUM_CODE: <br />
SOURCE_GEOGCRS_CODE: 4055&nbsp;&nbsp;&nbsp; <br />
PROJECTION_CONV_CODE: 19847&nbsp;&nbsp;&nbsp; <br />
CMPD_HORIZCRS_CODE:<br />
CMPD_VERTCRS_CODE:<br />
CRS_SCOPE: Certain Web mapping and visualisation applications.&nbsp;&nbsp;&nbsp; <br />
REMARKSUses spherical development. Relative to an ellipsoidal development errors of up to 800 metres in position and 0.7% in scale may arise. Some applications call this WGS 84. It is not a recognised geodetic system: see WGS 84 / World Mercator (CRS code 3395)&nbsp;&nbsp;&nbsp; <br />
INFORMATION_SOURCE: Microsoft.<br />
DATA_SOURCE: OGP<br />
REVISION_DATE: 3/14/2008<br />
CHANGE_ID: <br />
SHOW_CRS: TRUE<br />
DEPRECATED: FALSE</font><br />
</p>
]]></description>
   <dc:creator>Morten</dc:creator>
   <dc:date>5/15/2008 10:15:21 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Rock Star Software]]></title>
   <link>http://geekswithblogs.net/Lance/archive/2008/05/15/rock-star-software.aspx</link>
   <description><![CDATA[<p></p>Charles Pyron at Stellar Media (a video production company in NC) on <a href="http://www.stellarmediaonline.com/video-services/articles-on-video/rock-star/">home audio recording software</a>.<p><a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122167"><img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122167" border="0"/></a></p><iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;PageID=31016&amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No>
<script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Browser=NETSCAPE4&amp;NoCache=True&PageID=31016&amp;SiteID=1"></script>
<noscript><a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Click&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" target="_blank">
<img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" width="1" height="1" border="0"  alt=""></a>
</noscript>
</iframe>
<img src="http://geekswithblogs.net/Lance/aggbug/122167.aspx" width="1" height="1" />]]></description>
   <dc:creator>Lance Robinson</dc:creator>
   <dc:date>5/15/2008 10:09:22 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Evoluent Vertical Mouse now available in wireless model]]></title>
   <link>http://weblogs.asp.net/lorenh/archive/2008/05/15/evoluent-vertical-mouse-now-available-in-wireless-model.aspx</link>
   <description><![CDATA[<P>I've praised this mouse <A href="http://weblogs.asp.net/lorenh/archive/2008/01/07/evoluent-verticalmouse-is-a-great-product.aspx" mce_href="http://weblogs.asp.net/lorenh/archive/2008/01/07/evoluent-verticalmouse-is-a-great-product.aspx">before</A>, but just discovered that the <A href="http://www.evoluent.com/vm3w.html" mce_href="http://www.evoluent.com/vm3w.html">wireless model of the Evoluent Vertical Mouse is now available</A>. I have the wired version, and it is without a doubt the most comfortable mouse I've ever used. I throw it in my bag and drag it back and forth between the office and home. (I wonder how long before the cord gets a short?).</P>
<P>The only modification I made was to physically disable the large bottom button closest to the desk by inserting a small rolled up piece of paper behind it because I kept hitting it inadvertently while just moving the mouse.</P>
<P>The wireless one would be nice if anyone wants to buy it for me, my birthday is coming up.&nbsp; Anybody have one yet?&nbsp; How does it work?&nbsp; How is the battery life?</P><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6192717" width="1" height="1">]]></description>
   <dc:creator>Loren Halvorson</dc:creator>
   <dc:date>5/15/2008 8:57:26 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Wrox introduces new distribution model]]></title>
   <link>http://geekswithblogs.net/evjen/archive/2008/05/15/122161.aspx</link>
   <description><![CDATA[<p>Ever want to get information for a reliable source then find what you need in a book but really not that interested in buying the <em>entire</em> book? Well, that is the type of customer <a title="" href="http://www.wrox.com" target="_blank">Wrox</a> is going after with the introduction of their <a href="http://www.wrox.com/WileyCDA/Section/id-321040.html" target="_blank">new "Chapters on Demand" service</a>.</p>  <p><a href="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/Wroxintroducesnewdistributionmodel_7D65/image_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="136" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/Wroxintroducesnewdistributionmodel_7D65/image_thumb.png" width="240" border="0" /></a> </p>  <p>You are now able to purchase individual chapters as a PDF file. Looking at the site, you will also find a lot of free chapters made available as well. Rather interesting to see how it goes - some people will love it and others will not. </p>  <p>Funny for me is that I still love to read so much on paper that I even still print out longer articles on the web to read/highlight/etc. I have a tough time getting into a long read of something on the screen .... maybe because I'm getting older now. ;)</p><p><a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122161"><img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&u=122161" border="0"/></a></p><iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;PageID=31016&amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No>
<script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Browser=NETSCAPE4&amp;NoCache=True&PageID=31016&amp;SiteID=1"></script>
<noscript><a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Click&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" target="_blank">
<img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;Task=Get&amp;Mode=HTML&amp;SiteID=1&amp;PageID=31016" width="1" height="1" border="0"  alt=""></a>
</noscript>
</iframe>
<img src="http://geekswithblogs.net/evjen/aggbug/122161.aspx" width="1" height="1" />]]></description>
   <dc:creator>Bill Evjen</dc:creator>
   <dc:date>5/15/2008 7:15:06 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Funny]]></title>
   <link>http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx</link>
   <description><![CDATA[<p>Sorry Steven, stole this from you, but I found it very funny and applicable... <br /> </p><p>&nbsp;<img src="http://dotnet.org.za/photos/thea/images/433356/original.aspx" alt="" /><br />&nbsp;</p>
<div class = "shareblock"><strong>Share this post:</strong> <a href = "mailto:?body=Thought you might like this: http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;;subject=Funny" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">email it!</a> |  <a href = "http://del.icio.us/post?url=http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;;title=Funny" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">bookmark it!</a> |  <a href = "http://www.digg.com/submit?url=http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">digg it!</a> |  <a href = "http://reddit.com/submit?url=http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;title=Funny" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">reddit!</a> |  <a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;;title=Funny" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">kick it!</a> |  <a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;;mkt=en-us&amp;;url=http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx&amp;;title=Funny&amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/thea/archive/2008/05/15/funny.aspx">live it!</a></div><img src="http://dotnet.org.za/aggbug.aspx?PostID=433361" width="1" height="1">]]></description>
   <dc:creator>Thea Burger</dc:creator>
   <dc:date>5/15/2008 7:01:42 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[The Book Of Ruby - free in-depth Ruby eBook]]></title>
   <link>http://www.sapphiresteel.com/The-Book-Of-Ruby-free-in-depth</link>
   <description><![CDATA[The Book Of Ruby is a free 400-page-plus eBook which will be released one chapter at a time over the next few months. It comes with hundreds of ready-to-run Ruby programs all of which are also supplied as free downloads. <br />I first started work on The Book Of Ruby over two years ago. The book was, in fact, written in parallel with the development of the Ruby In Steel IDE. To be frank, we felt we needed a comprehensive ‘test suite' of programs that would explore every facet of Ruby, (...)
]]></description>
   <dc:creator>Huw Collingbourne</dc:creator>
   <dc:date>5/15/2008 6:23:12 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[The Easiest Thing to Do Should Be the Right Thing to Do]]></title>
   <link>http://aspnetresources.com/blog/easiest_thing_to_do_should_be_right_thing_to_do.aspx</link>
   <description><![CDATA[<p>If you haven&#8217;t read Michael Nygard&#8217;s book <a
href="http://www.amazon.com/exec/obidos/ASIN/0978739213/aspnetresourc-20">Release It!</a>, you absolutely need to! It&#8217;s heavy on the infrastructure side of things, which isn&#8217;t my strength, but it&#8217;s an eye-opener to a lot of real-world issues I never considered. It&#8217;s also just fun to read.</p>

<p>Michael&#8217;s <a href="http://www.michaelnygard.com/blog/2008/05/the_jvm_is_great_but.html">recent blog post</a> caught my attention:</p>

<blockquote>
<p>&#8220;Normal attrition means that the largest population of developers will always be the youngest and least experienced. This is not a training problem: in the post-commoditization world, the majority of code will always be written by undertrained, least-cost coders. That means we need platforms where the easiest thing to do is also the right thing to do.&#8221;</p>
</blockquote>

<p>I fully agree with his statement that the easiest thing to do should be the <strong>right</strong> thing to do. The reason I&#8217;m growing so frustrated with Microsoft is that they do just the opposite. </p>

<p>ASP.NET AJAX (read UpdatePanel) is the easy thing to do, but it&#8217;s also the
wrong thing to do from the standpoint of performance and resource hogging.</p>

<p>LINQ to SQL is the easy thing to do, but also the wrong thing to do because it&#8217;s meant for the RAD crowd. I often hear the misleading assertion that what the designer surface gives you, once you drag tables on it, is your domain model (which is incorrect). At the same time, the Entity Framework project has been on the ropes for god knows how long.</p>

<p>The Enterprise Library creates an illusion of easily applied building
blocks, but it&#8217;s a horrible monstrosity I prefer not to even touch anymore. EntLib is definitely not &#8220;the right thing to do.&#8221;</p>

<p>Frameworks need to do the right thing out-of-the-box, not pander to the incompetent crowd.</p>]]></description>
   <dc:creator>Milan Negovan</dc:creator>
   <dc:date>5/15/2008 5:55:55 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[Information Overload]]></title>
   <link>http://hollystyles.blogspot.com/2008/05/information-overload.html</link>
   <description><![CDATA[The email server is refusing to get out of bed today, it's having a 'duvet' day :) <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">Personally</span> I won't be complaining about that. In modern times I often feel there are to<span class="blsp-spelling-error" id="SPELLING_ERROR_1">o many</span> ways to demand my attention. Email, <span class="blsp-spelling-error" id="SPELLING_ERROR_2">SMS</span> Text, <span class="blsp-spelling-error" id="SPELLING_ERROR_3">IM</span> ...<br /><br />Once upon a time you had to husband cattle and fish for squid before you could contact anybody with the written word. (Before paper, calf skin was used.) So nobody tried to get hold of you unless it was *really* important.]]></description>
   <dc:creator>Holly Styles</dc:creator>
   <dc:date>5/15/2008 3:09:08 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[My Eugene Marathon Experience]]></title>
   <link>http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx</link>
   <description><![CDATA[<p><strong>Race Day</strong><br />Sunday, May 4th came for me at 5:30 AM. I awoke before the two alarms I had set went off, which was good because I managed to get up, dress, eat, and leave without waking the kids. And with only waking Suzanne briefly before she dozed back off to sleep. The four of us were sharing a hotel room at the Shilo Inn in Springfield, 3 miles north of the marathon start. I poured my Nature&rsquo;s Path Optimum Slim cereal into the hotel bowl along with some milk and closed the bathroom door as I ate my race day breakfast (plus a banana) and finished getting dressed. Shoes -- check. Shirt, shorts, socks, hat -- check. Water bottle and belt -- check. Garmin GPS watch and heart rate strap -- check. Glide slathered on my chaff points (where my shorts hit the inside of my thighs) -- check.&nbsp; Race number, timing chip, and bag to check at the start -- check. Okay, say goodbye to Suzanne and time to go. </p><p><strong>Getting There</strong><br />Suzanne and the kids weren&rsquo;t planning on attending the start. So my plan was to go down to the lobby and try to tag along with other people going to the race. Or, if that didn&rsquo;t work, call a cab. Fortunately, just before I was to call for a cab, three women wearing race numbers and marathon gear walked through the lobby. I asked them if they were headed to the marathon and if they had room for me and they said sure though they were running in the half. Even better, they were planning on stopping off at Starbucks on the way! So to thank them I paid for their drinks&mdash;I got a tall non-fat latte&mdash;and we drove off to Autzen stadium where the marathon was set to finish. From there, we caught a bus to the start.</p><p>While walking to the starting line, I noticed a bunch of runners heading into a building. I instantly followed into the law school building. Racing tip: It&rsquo;s always preferable to use the bathrooms inside of a building instead of the porta-potties. Real bathrooms usually have less of a wait (in fact, there was no line), are warmer, and frankly a lot nicer than the porta-potties. Score!</p><p>After warming up for about a &frac14; mile, I went back into the law school building and stretched, followed by one final potty break. I then proceeded to the bag dropoff just past the starting line and then got to the starting line (or as close as I could to it) with about 15 minutes until the scheduled start. </p><p>Thankfully, I ran into Peter (my brother) and his friend Gerry at the start. The start was pretty crowded; it was a single combined start for both the marathon and half marathon on a somewhat narrow street which made it worse. I was planning on trying to run with Krista from ChuckIt but could not locate her in the crowd so I lined up with Peter and Gerry and figured I&rsquo;d be running most of the race alone. 10 minutes prior to the hour, I downed a Gu per my fuel and hydration plan. Eleven minutes later, the gun went off and the race had begun.</p><p>Compared to other shorter running events, the marathon is less of a race and more like a contest or battle. I say this because in most other races, the results are much more predictable. Take a 5K, for example. You pretty much know at the start that you will finish and even if you go out too fast (like I did at this year&#39;s resolution run in Seattle), you can always slow down and jog it in. Same goes for the 10K and even a half marathon. Not so for the marathon. Take my last two marathons, for example. In 2003, I was cruising at around 7:40 per mile for the first 17 or so miles and then quickly fell apart and hit the wall around mile 22. So in 2004, I decide to go out slower and I still managed to hit the wall around mile 22 or so. </p><p>Let&rsquo;s face it. The marathon is a formidable opponent. Things may go as planned, or they just as easily (perhaps more easily) may not. You may do everything right and you still hit the wall or bonk. And how do you decide pace? Based on your half marathon or 10K time? Well that may work, but then again, it may not (it was a poor predictor for me in 2003 and 2004). The point I am trying to make is that as much as you can strategize, it isn&rsquo;t a race. It&rsquo;s a contest between you and the marathon. A battle of sorts to see if you have what it takes. And it had been 4 years since my last try. </p><p>No matter how many articles and blog posts I had read, no matter how many discussions with runner friends I had had, I still had no idea what was going to happen that day. A lot of effort had gone into getting me to the starting line on race day but that saying about &ldquo;the best laid plans&rdquo; was doubly true for a marathon. I hoped for a good race because I frankly didn&rsquo;t know how (and I still don&rsquo;t know) how many more marathons I had in me.</p><p><strong>The Plan<br /></strong>The race began at 7:00 AM next to Hayward field. My basic plan was this: run the first 13 miles at about 8:10 pace and the last 13 miles at 7:50 pace. This would give me a finishing time of 3:30. My Boston Marathon qualifying cutoff time was 3:25:59 so that gave me 6 minutes of slack time above my goal time. Most importantly, I was not to start out too fast. A little slower than 8:10 was okay but not faster; after all there was slack built into the plan and was determined not to bonk.</p><p><strong>The Start<br /></strong>The gun went off at 7:01 AM. I ran most of the first mile with Peter and Gerry. I tried to relax as I chatted with Peter and Gerry and joked around. Mile 1 included the most significant hill in the race which went on for a couple of blocks. Nothing too bad for someone who trains in Seattle. Overall, the first mile went well at 8:31. The second mile included a significant down hill so the 7:53 time wasn&rsquo;t anything to be concerned about. Around this time I came up upon two young women (in their early twenties) dressed identically with matching pink tops and shorts, white socks, the same shoes, and pink ribbons in their hair. I asked them if they were twins; they were not. I hung behind them for a little while but eventually let them go ahead as well as many other runners. I was determined to stick to my race pla, not theirs. Mile 3 clocked at 8:00, followed by 8:06, 8:01, and 7:59 for mile 6. Okay, I was running closer to 8:00 pace for those first few miles but that was no cause for concern. Just stay relaxed and it would work out.</p><p>For those interested, <a target="_blank" href="http://www.eugenemarathon.com/wp-content/uploads/2008/04/full-half-2008-solo.pdf" title="Eugene Marathon Course Map">here is a map of the course</a>.</p><p>For the first 7 miles we were running south of the University of Oregon (U of O) and then looping back through the U of O, through downtown, and then finally across the Willamette river. During mile 6 at around 50 minutes into the race I downed another Gu per my plan and finished the water in my bottle. Suzanne and the kids were supposed to be at or near the mile 7 water stop but I didn&rsquo;t see them. The idea was that they would swap out my water bottle at miles 7 and 17. This would save me from having to stop at the water stops to drink and increase the quantity of water I could consume. So far the plan was working nicely since I was able to down the first bottle of water without having to stop once. Now where were they? </p><p><strong>The Potty Stop<br /></strong>About this time I realized that I had to go to the bathroom again. Never mind the fact that I had used the bathroom at least 3 times prior to the start. There&rsquo;s just something about gravity. Enough said. Anyway, at about 7.5 miles into the race I saw a unoccupied porta-potty on the right side of the road and made the executive decision to go now and be done with it rather than put it off until it after it became a crisis. Approximately two minutes later I was back running. Unfortunately, like the coach who cursed the fact that he or she used up their timeouts too early in the game, I would later question if the stop was necessary and whether I could have/should have did my business faster.</p><p>The other issue with the potty break was this: the Garmin GPS watch has this great feature called AutoStop which works like a charm during workouts to stop the clock when it has determined you have stopped. Unfortunately, the race organizers won&rsquo;t take into consideration this fact when calculating your race time at the finish. In other words, I forgot to turn this wonderful feature off before race start so the watch stopped when I hunkered down in the port-potty which meant not only did I not know the actual clock time from the start but I also didn&rsquo;t know how long I had stopped. I guessed 2 minutes.</p><p>So I jumped back on the course and noticed Gerry just in front of me. I caught up to Gerry and explained that I had made a potty stop. Funny thing is that we had just been talking about potty stops the night before when we were checking out the course. That&rsquo;s the kind of thing that runners talk about in the nervous hours leading up to the start of a race. Since Gerry and I started together I was able to verify that my break took about 2 minutes. But at this point I also realized that my Garmin watch, as currently configured, didn&rsquo;t report the elapsed seconds when the time went over 1 hour. Damn. If I had configured the watch correctly, this wouldn&rsquo;t be a problem. The net effect of all this was that, for the remainder of the race, I would not know precisely the elapsed time of my effort. The best I could do was to take my time, sans seconds and add about 2 minutes to it. At this point, however, I was not terribly concerned because according to my race plan I still had 3 minutes of slack between my estimated finish time and the Boston cutoff.</p><p>Having someone to chat with as you run is a nice benefit for so many reasons, not the least of which it distracts you from thinking too much about your pace and the race. So I appreciated having Gerry to run with, even if it was the result of me taking a two minute break. The one danger, of course, with running with someone else is the temptation to adopt their race plan instead of yours. But for me, this was not the case, since I ran 8:04 (plus 2 minutes or so for the break) for mile 7, and 8:08 for mile 8. Just before mile 9, Suzanne, Anna, and Matthew appeared which I very much appreciated. Certainly, hearing your daughter yell &ldquo;Go daddy, go!&rdquo; is enough to lift your spirits. Anna and Matthew at this point were both trying to give me their water bottles but alas I only needed one at this time and grabbed Anna&rsquo;s bottle first. (Later, after the race, I learned that Matthew was actually supposed to give me his bottle with Anna waiting until later in the race. Apparently, she got excited and offered me hers before Matthew had a chance and this caused some hurt feelings that Suzanne had to soothe for a number of minutes after I had disappeared.)</p><p><img src="http://aspadvice.com/photos/plitwin/images/42284/425x358.aspx" alt="Matthew" title="Matthew" /> <br /><img src="http://aspadvice.com/photos/plitwin/images/42285/316x425.aspx" alt="Anna" title="Anna" /> </p><p>Shortly after seeing the family we crossed the river on the Autzen footbridge, Gerry and I said &ldquo;goodbye&rdquo; as he dropped back slightly (and ran &ldquo;his&rdquo; race). I turned on my ipod nano and settled back into focusing (or should I say obsessing) on the race. My mile 9 split was 8:05. After the bridge we took a right, heading east on a bike trail. Mile 10 was a bit faster at 7:55, followed by an 8:05 mile 11 as we headed onto the street. Despite slathering the glide on fairly thickly before the race, my legs were starting to chaff. So I stopped briefly to apply some Aqua Four before continuing. I also threw back another Gu at this point.</p><p><strong>Second Half <br /></strong>I clocked mile 12 at 8:14 and mile 13 at 8:03. At this point the course looped back and headed west and it was time, according to the race plan, to drop down to 7:50 pace. In reality, I was pretty close turning in splits of 7:55, 7:54, and another 7:54 for the next 3 miles. At mile 14 we crossed paths with the slower runners running the other way (for them it was mile 11). It took me a second to realize they were actually behind me and not in front of me before I continued on the trail. At mile 16, we passed the Autzen footbridge, which by the way, was only a few hundred yards south of the finish line at Autzen stadium. But I had another 10 miles to cover before I would get there. </p><p>The trail continued east along the bike path and the Willamette river. I was looking forward to seeing the family at Mc Menamins at mile 17. Assuming they made it there in time. While Suzanne is not the most geographically inclined person, I was counting on the Tom-Tom One GPS navigation system I bought for her for Christmas and my instructions to get her there. My only concern was that roadblocks to prevent motorists from running over runners might thwart her efforts. Alas, she and the kids were there right in front of Mc Menamins with my next water bottle, which Matthew proudly handed to me. After exchanging my empty for the full bottle, I stopped and hugged them all. A half second later, Suzanne shoed me away, reminding me that it was time to get running again. I posted an 8:03 for mile 17. Between mile 17 and 18 I choked down another Gu and about this time, I started to doubt whether I could continue at a 7:50ish pace. I ran a little slower than that but still managed to maintain a steady effort nonetheless and clocked 7:56, 8:04, and 8:06 for miles 18, 19, and 20, respectively. Just after mile 20, the course double-backed on itself before heading across the river on the Owosso Bridge. It was at this point that I saw Krista and managed to quickly blurt out &ldquo;Krista&rdquo; as she ran by. She silently nodded as she continued in the opposite direction probably about 2 minutes ahead of me. She looked in pain. About this time I started to worry if it was my turn to feel pain too and, dare I say, possibly hit the wall?</p><p>Shortly after that I crossed the river and much to my surprise saw Suzanne and the kids at the other end of the bridge at an unplanned stop. It was a great surprise; I yelled hi and plodded on as I heard a chorus of &ldquo;Go Daddy, go&rdquo;. My spirits were definitely lifted as I raised my arms over my head and looked back. Mile 21 was clocked in at 8:03. As I headed east on the bike trail along the river I stopped thinking about whether I was going to bonk (I decided I was probably not going to at this point) and started to do the math of where I was in relationship to my Boston cutoff. Only last week I had turned 50 and gained another precious 5 minutes. Surely, I could run a 3:35 marathon. Surely I could. My quick math based on my estimate of a 2 minute potty down time assured me that if I could average 8:20 or for the remaining miles I would still qualify. No problem, unless&hellip;</p><p><img src="http://aspadvice.com/photos/plitwin/images/42283/425x419.aspx" alt="Paul at Mile 21" title="Paul at Mile 21" /> </p><p><strong>Only 5 Miles to Go<br /></strong>Only 5 miles to go but, of course, these were the miles that separated the runner from the whatever you call a non-runner. This is where it mattered. Everything up to this point was setting the stage for the final 5 miles. I was definitely feeling fatigued at this point and redoubled my efforts to maintain an 8:00 minute-ish pace for the remaining miles. Mile 22 clocked in at 8:00 but at mile 23 I slowed down to 8:16 and was starting to drag. At this point I was supposed to down another disgusting Gu but I have to say that between all the water I drank and the Gu&rsquo;s I had eaten I was starting to feel full and visualized my stomach filled with a mixture of water and Gu sloshing around at around the 95% full line. Still I feared the bonk more than getting sick and I managed to down another Gu somewhere between mile 23 and 24. In grabbing the Gu, I managed to drop my ipod and a fellow runner picked it up and handed it to me. I thanked him, stopping briefly to reattach it to myself and continued.</p><p>For the most part, I was mostly passing other runners who were fading at this point. But occasionally, someone would pass me and I focused in on a woman who recently passed me trying to muster enough strength to tag along behind her. I managed to hang on for a bit but she obviously was running too fast for me so I let her go and continued to plod along at my pace, which for mile 24 had now slowed down to 8:33. My average heart rate at this point was averaging around 164, which meant that I was definitely working hard to maintain the pace. Only 3 miles to go. </p><p>Could I hang on at this pace or would I slow to a crawl. Damn another hill ahead. Hey I thought this course was supposed to be flat. Now, note that I live and train in Seattle, which is full of hills. While I can&rsquo;t say I love hills or even like them, running in Seattle gets you pretty used to hills -- lots of them and lots of big hills at that. Hell, it&rsquo;s the rare workout that avoids any hill in Seattle and here I was muttering to myself about a hill that probably ascended a whole 10 feet, which was a sign I was hurting. Just about this time, the sun began to appear as well. Till that time, it was cloudy and cool -- the perfect marathon weather. But like a vampire, at this point, I was fearing the daylight because the only thing worse than hanging on for dear life during he last 2 miles of a marathon, was hanging on for dear life during those last two miles while baking in the hot sun. </p><p><strong>Slowing Down</strong><br />My pace continued to slow; I ran mile 25 in 9:07, which considering how terrible I was feeling, was amazing. However, I was thinking that 9:07 pace might just be too slow for me to make the Boston cutoff. Some quick calculations -- and believe me at this point my brain was not the best at calculating estimates -- and I came to the conclusion that it was going to be damn close but also that I didn&rsquo;t care that much anymore. I was going to finish in as fast a time as I could but I wasn&rsquo;t going to dwell on the Boston cutoff. In other words, I needed to concentrate on running. That&rsquo;s all that really mattered at this point and, believe me, it was hard.</p><p>Around this point, I actually grabbed a cup of Gleukos, the official race water stop sports drink. I reasoned that it was too late for another Gu but maybe a shot of sports drink might help. I&rsquo;m sure it didn&rsquo;t do anything for me at this late stage but I drank it anyway. A half a mile or so after milepost 25, we crossed the river one last time and headed towards the finish line in the Autzen Stadium parking lot. As I approached the bridge, I knew it was a little less than a mile to go and I dug down deep inside of me to maintain my slightly slowed pace and not settle down to a 10 or 12 minute crawl or worse stop like I so very much wanted to. As had happened through the race, total strangers continued to cheer for me and this definitely helped. Thank you, anyone and everyone who cheered for me!</p><p>&quot;Less than a mile to go&quot; I told myself. &quot;Time to give it all I had. Time to speed it up&quot;. But at the same time another part of me was saying &quot;You still have almost a mile to go&quot;. So the glass was both half full and half empty at the same time. Speaking of empty, I was definitely running on fumes but the end was getting close and I managed to run mile 26 in 9:08 pace. Again, this was slower than I wanted to run but considering how bad my legs felt it was almost miraculous that I was able to maintain that very respectable pace. </p><p><strong>The Finish</strong><br />Of course, as any long distance runner worth his or her salt will tell you, the marathon is not 26 miles long, it&#39;s 26.2 miles and I still had another 385 yards to go at this point, to be exact. At this point, I managed to speed up, clocking the last .2 miles in 8:12 pace. I ran by Suzanne and the kids (and lots of other folks) cheering for me during the final approach to the finish line. I surged even faster the last 50 yards or so and it was over. The official clock time said 3:36 something. But that was the unadjusted time; there was still a chance I came in under 3:36. As I stopped to let the race volunteer cut off my timing chip I have to say I was happy. I wasn&#39;t sure if I had made the Boston cutoff, but I also didn&#39;t really care that much. After all, it was over, and hadn&#39;t bonked.</p><p><img src="http://aspadvice.com/photos/plitwin/images/42286/311x425.aspx" alt="Paul finishing" title="Paul finishing" /> </p><p>After chowing down on some post race snacks, chatting with Krista (3:34, a person record (or PR)) and Gerry (3:37, a PR), and reuniting with the family, we watched for Peter to finish (he had a tough time with cramps; finishing in 4:07). At this point, I still didn&#39;t know my official time, so with trepidation I hobbled over to the official table and pointed to the number that was affixed to my shirt: #1011. The official plugged into his laptop and out popped a strip of paper from the printer that was about the size of a grocery store receipt. I had run 3:36:14. Wow. I missed qualifying for Boston by 15 seconds.</p><p>But despite failing to qualify for Boston, I did it. Here I was 50 years old and I managed to run a marathon, this time, without hitting the wall, and record a personal best (if one ignores the marathons I ran in high school). Not bad, if I don&#39;t say so myself.<br /></p><p><img src="http://aspadvice.com/photos/plitwin/images/42287/425x319.aspx" alt="Gerry, Peter, Paul, Anna, and Matthew" title="Gerry, Peter, Paul, Anna, and Matthew" /> </p><p>(See <a href="http://aspadvice.com/blogs/plitwin/archive/2008/05/10/From-Earth-Day-to-Eugene.aspx" title="pre-race post">pre-race post</a>&nbsp;for description of events leading up to race day.)</p>
<div class = "shareblock"><strong>Share this post:</strong> <a href = "mailto:?body=Thought you might like this: http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;;subject=My+Eugene+Marathon+Experience" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">email it!</a> |  <a href = "http://del.icio.us/post?url=http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;;title=My+Eugene+Marathon+Experience" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">bookmark it!</a> |  <a href = "http://www.digg.com/submit?url=http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;;phase=2" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">digg it!</a> |  <a href = "http://reddit.com/submit?url=http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;title=My+Eugene+Marathon+Experience" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">reddit!</a> |  <a href = "http://www.dotnetkicks.com/submit/?url=http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;;title=My+Eugene+Marathon+Experience" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">kick it!</a> |  <a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;;mkt=en-us&amp;;url=http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx&amp;;title=My+Eugene+Marathon+Experience&amp;;top=1" target="_blank" title = "Post http://aspadvice.com/blogs/plitwin/archive/2008/05/15/My-Eugene-Marathon-Experience.aspx">live it!</a></div><img src="http://aspadvice.com/aggbug.aspx?PostID=42288" width="1" height="1">]]></description>
   <dc:creator>Paul Litwin</dc:creator>
   <dc:date>5/15/2008 2:21:24 AM</dc:date>
  </item>
  <item>
   <title><![CDATA[ASP.NET MVC - Extracting Web Resources]]></title>
   <link>http://weblogs.asp.net/mhawley/archive/2008/05/15/asp-net-mvc-extracting-web-resources.aspx</link>
   <description><![CDATA[<p>One nice feature that ASP.NET added in the 2.0 feature set was the ability to embed resources directly within an assembly and then later extract them through a separate Http Handler. You've notably saw this by all the WebResource.axd calls. If you're building a ASP.NET MVC view, you have two ways of extracting web resource urls. Find out how to do this in your view and through a new extension method. (<a href="http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Extracting-Web-Resources.aspx" target="_blank">Read More...</a>)</p><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6191021" width="1" height="1">]]></description>
   <dc:creator>Matt Hawley</dc:creator>
   <dc:date>5/14/2008 10:39:57 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[John Berkey at theArtDepartment]]></title>
   <link>http://codeverity.com/blogs/timweaver/archive/2008/05/14/john-berkey-at-theartdepartment.aspx</link>
   <description><![CDATA[Check out the illustrations of John Berkey right here . I swear I had one of these as a poster when I was in middle school....(<a href="http://codeverity.com/blogs/timweaver/archive/2008/05/14/john-berkey-at-theartdepartment.aspx">read more</a>)<img src="http://codeverity.com/aggbug.aspx?PostID=2098" width="1" height="1">]]></description>
   <dc:creator>Tim Weaver</dc:creator>
   <dc:date>5/14/2008 7:27:28 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Early Christmas present in May - DFS file replication on Windows Server 2008 web edition]]></title>
   <link>http://weblogs.asp.net/steveschofield/archive/2008/05/14/early-christmas-present-in-may-dfs-file-replication-on-windows-server-2008-web-edition.aspx</link>
   <description><![CDATA[Whoo hoo! DFS replication is available on web edition. This will make shared config and local contention replication possible on web edition. This is a HUGE deal. http://blogs.technet.com/filecab/archive/2008/05/14/installing-dfs-replication-on-windows...(<a href="http://weblogs.asp.net/steveschofield/archive/2008/05/14/early-christmas-present-in-may-dfs-file-replication-on-windows-server-2008-web-edition.aspx">read more</a>)<img src="http://weblogs.asp.net/aggbug.aspx?PostID=6190422" width="1" height="1">]]></description>
   <dc:creator>Steve Schofield</dc:creator>
   <dc:date>5/14/2008 6:17:50 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[VS 2008 and .NET 3.5 SP1 Beta changes for LINQ to SQL, and more]]></title>
   <link>http://weblogs.asp.net/fmarguerie/archive/2008/05/15/vs2008-dotnet-3-5-sp1-beta-changes-for-linq-to-sql-and-more.aspx</link>
   <description><![CDATA[<p>The ADO.NET team details on its blog <a href="http://blogs.msdn.com/adonet/archive/2008/05/14/what-s-new-in-the-sp1-beta-for-linq-to-sql.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/05/14/what-s-new-in-the-sp1-beta-for-linq-to-sql.aspx">what has changed for LINQ to SQL</a> with the release of <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx">Visual Studio 2008 and .NET 3.5 Service Pack 1 Beta</a>:</p><blockquote><p>Across the LINQ to SQL we have made numerous bug fixes, better SQL translation for queries comparing nullable columns in Visual Basic, and support both in the runtime and the designer for SQL Server 2008.<br>New SQL Server 2008 Support includes:<br></p><ul><li>Support for connecting to SQL Server 2008 databases in Server Explorer</li><li>Drag &amp; drop tables in SQL Server 2008 databases from Server Explorer</li><li>Support for the following new types: Date, Time, DateTime2, DateTimeOffset, Filestream</li></ul></blockquote><p>The above is just for LINQ to SQL, but this service pack comes with lots and lots of updates and new features! The ADO.NET team also has a detailed list of <a href="http://blogs.msdn.com/adonet/archive/2008/05/12/what-s-new-in-the-sp1-beta.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/05/12/what-s-new-in-the-sp1-beta.aspx">what's new for Entity Framework</a>, as well as <a href="http://blogs.msdn.com/adonet/pages/entity-framework-breaking-changes-visual-studio-2008-net-3-5-sp1-beta.aspx" mce_href="http://blogs.msdn.com/adonet/pages/entity-framework-breaking-changes-visual-studio-2008-net-3-5-sp1-beta.aspx">a list of breaking changes for Entity Framework</a>. The same kind of information can be found on the Astoria team's blog <a href="http://blogs.msdn.com/astoriateam/archive/2008/05/12/ado-net-data-services-framework-beta-1-is-live.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2008/05/12/ado-net-data-services-framework-beta-1-is-live.aspx">for ADO.NET Data Services (Astoria)</a>.<br></p><p>You can get <a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx">a good overview of what's included in this service pack</a> on Scott Guthrie's blog. There are way too many changes included to repeat them all here.</p><p>Note: Scott adds that "The debugger in VS 2008 SP1 has also been improved to provide more debugging support for evaluating LINQ expressions and viewing results at debug time. LINQ enabled data sources now have a "Results View" node show up within the debugger watch window.&nbsp; Expanding this node will evaluate a LINQ expression and allow you to examine the materialized objects it returns."<br></p>
<br><i>Cross-posted from <a href="http://linqinaction.net/">http://linqinaction.net</a></i><img src="http://weblogs.asp.net/aggbug.aspx?PostID=6190166" width="1" height="1">]]></description>
   <dc:creator>Fabrice Marguerie</dc:creator>
   <dc:date>5/14/2008 5:42:37 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Choosing the Right Garbage Collector Settings for Your Application (.NET Memory Management: Part 4)]]></title>
   <link>http://www.atalasoft.com/cs/blogs/rickm/archive/2008/05/14/choosing-the-right-garbage-collector-settings-for-your-application-net-memory-management-part-4.aspx</link>
   <description><![CDATA[Tuning the garbage collector to the specific context of the particular application can significantly improve the performance of both non-threaded and multi-threaded applications. In this post I discuss the gcConcurrent and gcServer settings which allow...(<a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2008/05/14/choosing-the-right-garbage-collector-settings-for-your-application-net-memory-management-part-4.aspx">read more</a>)<img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=14040" width="1" height="1">]]></description>
   <dc:creator>Rick Minerich</dc:creator>
   <dc:date>5/14/2008 12:04:08 PM</dc:date>
  </item>
  <item>
   <title><![CDATA[Brad Abrams in Cape Town]]></title>
   <link>http://feeds.feedburner.com/~r/ErnstKuschke/~3/290279051/brad-abrams-in-cape-town.aspx</link>
   <description><![CDATA[<p>As <a href="http://dotnet.org.za/hiltong/archive/2008/05/14/s-a-developer-net-event-june-2008-mvc-with-brad-abrams.aspx" target="_blank">Hilton&#39;s blog indicates</a>, we&#39;ll have the pleasure of chatting with legendary <a href="http://blogs.msdn.com/brada/archive/2003/09/26/50384.aspx" target="_blank">Brad Abrams</a> soon, right here in Cape Town! He will be doing a talk on the planned <a href="http://www.asp.net/mvc/" target="_blank">ASP.NET MVC Framework</a> for SADeveloper.net. Scott Guthrie explains the MVC pattern nicely <a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target="_blank">over here</a>. This is an exciting framework that might(!) remind you of <a href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a>. Some open source efforts to bring the rails mentality of <a href="http://en.wikipedia.org/wiki/Convention_over_Configuration" target="_blank">CoC</a> and <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself" target="_blank">DRY</a> to the .net platform has been attempted before, most notably with the <a href="http://www.castleproject.org/" target="_blank">Castle Project</a>.</p><p>One of the main concerns with the new ASP.NET MVC Framework is that, instead of allowing client-server interaction via the current postback model, your postbacks will now be directed to a Controller class. This is in fact not a concern as much as it is a breaking change - it is in fact a much cleaner seperation of concerns, which the current ASP.NET model does not have.<br /> </p><p><a href="http://sadeveloper.net/forums/12084/ShowThread.aspx#12084" target="_blank">RSVP over here to book your seat</a>.<br /></p>
<div class = "shareblock"><strong>Share this post:</strong> <a href = "mailto:?body=Thought you might like this: http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;;subject=Brad+Abrams+in+Cape+Town" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">email it!</a> |  <a href = "http://del.icio.us/post?url=http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;;title=Brad+Abrams+in+Cape+Town" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">bookmark it!</a> |  <a href = "http://www.digg.com/submit?url=http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;;phase=2" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">digg it!</a> |  <a href = "http://reddit.com/submit?url=http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;title=Brad+Abrams+in+Cape+Town" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">reddit!</a> |  <a href = "http://www.dotnetkicks.com/submit/?url=http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;;title=Brad+Abrams+in+Cape+Town" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">kick it!</a> |  <a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;;mkt=en-us&amp;;url=http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx&amp;;title=Brad+Abrams+in+Cape+Town&amp;;top=1" target="_blank" title = "Post http://dotnet.org.za/ernst/archive/2008/05/14/brad-abrams-in-cape-town.aspx">live it!</a></div><img src="http://dotnet.org.za/aggbug.aspx?PostID=433081" width="1" height="1"><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/ErnstKuschke?a=PYpqaH"><img src="http://feeds.feedburner.com/~f/ErnstKuschke?i=PYpqaH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/ErnstKuschke?a=bCKodh"><img src="http://feeds.feedburner.com/~f/ErnstKuschke?i=bCKodh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/ErnstKuschke?a=6H7g7H"><img src="http://feeds.feedburner.com/~f/ErnstKuschke?i=6H7g7H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/ErnstKuschke?a=lRkLSH"><img src="http://feeds.feedburner.com/~f/ErnstKuschke?i=lRkLSH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/ErnstKuschke?a=E2oCah"><img src="http://feeds.feedburner.com/~f/ErnstKuschke?i=E2oCah" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ErnstKuschke/~4/290279051" height="1" width="1"/>]]></description>
   <dc:creator>Ernst Kuschke</dc:creator>
   <dc:date>5/14/2008 10:24:33 AM</dc:date>
  </item>
 </channel>
</rss>