<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Chris Ballance's Blog</title>
    <link>http://www.chrisballance.com/Blog/</link>
    <description>Show me the code!</description>
    <language>en-us</language>
    <copyright>Christopher Ballance</copyright>
    <lastBuildDate>Wed, 16 Jul 2008 17:50:31 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>ballance@gmail.com</managingEditor>
    <webMaster>ballance@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=eabc8452-95cf-4bae-a750-f4af8e9176d8</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,eabc8452-95cf-4bae-a750-f4af8e9176d8.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,eabc8452-95cf-4bae-a750-f4af8e9176d8.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=eabc8452-95cf-4bae-a750-f4af8e9176d8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Green Drinks Greensboro chapter has its second meeting this evening at Natty
Greens Brew Pub in downtown Greensboro.  With 88 members on the current
email list and 30 people attending the first meeting, I would venture to say it's
off to a successful start.  I look forward to seeing you there!
</p>
        <p>
          <img src="http://www.chrisballance.com/Blog/content/binary/nattys.jpg" border="0" />
        </p>
        <p>
From Greendrinks.org:
</p>
        <p>
"We're off to a great start.  <font size="4">Over 30 people</font> showed up
at the very first event!  The next date is....<br /></p>
        <p style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal">
          <font color="#669900">
            <strong>
              <span style="FONT-SIZE: 14pt; COLOR: rgb(0,153,0)">When:  
July 16th, 5:30pm<span>                                         </span><br />
Where:  Natty Greene's Brewing Company, 2nd Floor<br />
Why:     See below...</span>
            </strong>
          </font>
          <strong>
            <span style="FONT-SIZE: 14pt">
              <br />
              <br />
What is <font color="#669900"><span style="COLOR: rgb(0,153,0)">Green Drinks</span></font> Greensboro?</span>
          </strong>
          <span style="FONT-SIZE: 12pt"> It's
a social hour.  It's a networking event.  It's unwinding with friends. 
It's a time and place where it's okay to be green and to find out what others in your
city are doing to be green, work green, play green, or live green.  And it happens
all over the country and the world in over 300 cities.  Proving that it's never
too late to join the green movement, <font color="#669900"><strong>Green Drinks </strong></font></span>
          <span style="FONT-SIZE: 12pt">
            <strong>Greensboro </strong>
          </span>
          <span style="FONT-SIZE: 12pt">will
be meeting every third Wednesday of the month on the 2nd floor of <strong>Natty Greene's
Brewing Company</strong> (345 S. Elm St.) starting from 5:30 until 7:30(ish).<br /><br /></span>
          <strong>
            <span style="FONT-SIZE: 13.5pt; COLOR: rgb(51,204,0)">
              <font color="#669900">Green
Drinks</font>
            </span>
          </strong>
          <strong>
            <span style="FONT-SIZE: 13.5pt">Greensboro</span>
          </strong>
          <span style="FONT-SIZE: 12pt"> invites
all those who care about the environment, teach about and learn about the environment,
work in an environment-related field, have interest in the environment, environmental
products, sustainable building, environmental protection, eating local, ecological
design, alternative energy…you get the idea.  There will be no agenda and there
are no dues. From time-to-time we will allow a few minutes for short presentations.
To get on our e-mail list, simply send an email to <a title="mailto:greendrinksgso@gmail.com" href="mailto:greendrinksgso@gmail.com" target="_blank"><span title="mailto:greendrinksgso@gmail.com" style="COLOR: blue">greendrinksgso@gmail.com</span></a> and
we will keep you posted on our events.  See you there!</span>"
</p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=eabc8452-95cf-4bae-a750-f4af8e9176d8" />
      </body>
      <title>Green Drinks tonight at Natty Green's ~ Downtown Greensboro</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,eabc8452-95cf-4bae-a750-f4af8e9176d8.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/07/16/GreenDrinksTonightAtNattyGreensDowntownGreensboro.aspx</link>
      <pubDate>Wed, 16 Jul 2008 17:50:31 GMT</pubDate>
      <description>&lt;p&gt;
The Green Drinks Greensboro chapter&amp;nbsp;has its second meeting this evening at Natty
Greens Brew Pub in downtown Greensboro.&amp;nbsp; With&amp;nbsp;88 members on the current
email list and 30 people attending the first meeting, I would venture to say it's
off to a successful start.&amp;nbsp; I look forward to seeing you there!
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.chrisballance.com/Blog/content/binary/nattys.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
From Greendrinks.org:
&lt;/p&gt;
&lt;p&gt;
"We're off to a great start.&amp;nbsp; &lt;font size=4&gt;Over 30 people&lt;/font&gt; showed up at
the very first event!&amp;nbsp; The next date is....&lt;br&gt;
&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;
&lt;font color=#669900&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 14pt; COLOR: rgb(0,153,0)"&gt;When:&amp;nbsp;&amp;nbsp;
July 16th, 5:30pm&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
Where:&amp;nbsp; Natty Greene's Brewing Company, 2nd Floor&lt;br&gt;
Why:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; See below...&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 14pt"&gt;
&lt;br&gt;
&lt;br&gt;
What is &lt;font color=#669900&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;Green Drinks&lt;/span&gt;&lt;/font&gt; Greensboro?&lt;/span&gt;&lt;/strong&gt;&lt;span style="FONT-SIZE: 12pt"&gt; It's
a social hour.&amp;nbsp; It's a networking event.&amp;nbsp; It's unwinding with friends.&amp;nbsp;
It's a time and place where it's okay to be green and to find out what others in your
city are doing to be green, work green, play green, or live green.&amp;nbsp; And it happens
all over the country and the world in over 300 cities. &amp;nbsp;Proving that it's never
too late to join the green movement, &lt;font color=#669900&gt;&lt;strong&gt;Green Drinks &lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;strong&gt;Greensboro &lt;/strong&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;will
be meeting every third Wednesday of the month on the 2nd floor of &lt;strong&gt;Natty Greene's
Brewing Company&lt;/strong&gt; (345 S. Elm St.) starting from 5:30 until 7:30(ish).&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 13.5pt; COLOR: rgb(51,204,0)"&gt;&lt;font color=#669900&gt;Green
Drinks&lt;/font&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 13.5pt"&gt;Greensboro&lt;/span&gt;&lt;/strong&gt;&lt;span style="FONT-SIZE: 12pt"&gt; invites
all those who care about the environment, teach about and learn about the environment,
work in an environment-related field, have interest in the environment, environmental
products, sustainable building, environmental protection, eating local, ecological
design, alternative energy…you get the idea.&amp;nbsp; There will be no agenda and there
are no dues. From time-to-time we will allow a few minutes for short presentations.
To get on our e-mail list, simply send an email to &lt;a title=mailto:greendrinksgso@gmail.com href="mailto:greendrinksgso@gmail.com" target=_blank&gt;&lt;span title=mailto:greendrinksgso@gmail.com style="COLOR: blue"&gt;greendrinksgso@gmail.com&lt;/span&gt;&lt;/a&gt; and
we will keep you posted on our events.&amp;nbsp; See you there!&lt;/span&gt;"
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=eabc8452-95cf-4bae-a750-f4af8e9176d8" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,eabc8452-95cf-4bae-a750-f4af8e9176d8.aspx</comments>
      <category>General</category>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=f2b00ef7-a193-46cc-bb38-5407a78242ba</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,f2b00ef7-a193-46cc-bb38-5407a78242ba.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,f2b00ef7-a193-46cc-bb38-5407a78242ba.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f2b00ef7-a193-46cc-bb38-5407a78242ba</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Feeling constrained by the default Communication
Locations?  Well, no more, Here is a small Office Communicator Custom Location
hack that lets you be just a little more specific about what you're doing.  Works
on my machine, but use at your own risk.<br /><br />
http://blog.tiensivu.com/aaron/archives/1341-Little-known-Office-Communicator-2007-feature-Custom-Presence-States.html<br /><p></p><img src="http://www.chrisballance.com/Blog/content/binary/writingCode.jpg" width="324" border="0" height="348" /><img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=f2b00ef7-a193-46cc-bb38-5407a78242ba" /></body>
      <title>Office Communicator "feature"</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,f2b00ef7-a193-46cc-bb38-5407a78242ba.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/07/08/OfficeCommunicatorFeature.aspx</link>
      <pubDate>Tue, 08 Jul 2008 19:37:37 GMT</pubDate>
      <description>Feeling constrained by the default Communication Locations?&amp;nbsp; Well, no more, Here is a small Office Communicator Custom Location hack that lets you be just a little more specific about what you're doing.&amp;nbsp; Works on my machine, but use at your own risk.&lt;br&gt;
&lt;br&gt;
http://blog.tiensivu.com/aaron/archives/1341-Little-known-Office-Communicator-2007-feature-Custom-Presence-States.html&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img src="http://www.chrisballance.com/Blog/content/binary/writingCode.jpg" width="324" border="0" height="348"&gt;&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=f2b00ef7-a193-46cc-bb38-5407a78242ba" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,f2b00ef7-a193-46cc-bb38-5407a78242ba.aspx</comments>
      <category>General</category>
      <category>Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=a5421ee3-cb83-46b5-a3d2-e671eac2b4cb</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,a5421ee3-cb83-46b5-a3d2-e671eac2b4cb.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,a5421ee3-cb83-46b5-a3d2-e671eac2b4cb.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a5421ee3-cb83-46b5-a3d2-e671eac2b4cb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Good Job <a href="http://www.plurk.com">Plurk</a>!  I won't be doing that again.
</p>
        <p>
This is what happens when you use their built-in 'feature' to add people you already
know from another service, such as Gmail.  
</p>
        <p>
Have we not heard of using ssl or form submission without using querystring values? 
It's really not that difficult guys...
</p>
        <img src="http://www.chrisballance.com/Blog/content/binary/plurkSecurityProblem.jpg" border="0" />
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=a5421ee3-cb83-46b5-a3d2-e671eac2b4cb" />
      </body>
      <title>Plurk's eye for security on the web</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,a5421ee3-cb83-46b5-a3d2-e671eac2b4cb.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/06/22/PlurksEyeForSecurityOnTheWeb.aspx</link>
      <pubDate>Sun, 22 Jun 2008 17:18:53 GMT</pubDate>
      <description>&lt;p&gt;
Good Job &lt;a href="http://www.plurk.com"&gt;Plurk&lt;/a&gt;!&amp;nbsp; I won't be doing that again.
&lt;/p&gt;
&lt;p&gt;
This is what happens when you use their built-in 'feature' to add people you already
know from another service, such as Gmail.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Have we not heard of using ssl or form submission without using querystring values?&amp;nbsp;
It's really not that difficult guys...
&lt;/p&gt;
&lt;img src="http://www.chrisballance.com/Blog/content/binary/plurkSecurityProblem.jpg" border=0&gt;&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=a5421ee3-cb83-46b5-a3d2-e671eac2b4cb" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,a5421ee3-cb83-46b5-a3d2-e671eac2b4cb.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=0f360304-7872-4b34-859d-e246aea030f2</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,0f360304-7872-4b34-859d-e246aea030f2.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,0f360304-7872-4b34-859d-e246aea030f2.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0f360304-7872-4b34-859d-e246aea030f2</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>TechEd - Day 1</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,0f360304-7872-4b34-859d-e246aea030f2.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/06/03/TechEdDay1.aspx</link>
      <pubDate>Tue, 03 Jun 2008 04:04:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;The
first day of Tech Ed has been exciting and full of things to be learned and explored.&amp;nbsp;
Here are the sessions I attended and my thoughts/reflections on each.&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face=Arial&gt;&lt;img src="http://farm4.static.flickr.com/3100/2550356464_dacc582e22.jpg?v=0" width=280&gt;&lt;/font&gt;
&lt;/p&gt;
&gt;&gt; 
&lt;p&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 13.5pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;Keynote &lt;em&gt;with
Bill Gates, S. "Soma" Somasegar, others&lt;/em&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul type=disc&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Architecture
validation in VSTS.&amp;nbsp; When properly modeled, your applications architecture can
be validated at compile time and enforced at check-in with VSTS&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font face=Arial color=#000000&gt;CTP
of project "Velocity" announced.&amp;nbsp; Memcached is ported to .NET.&amp;nbsp; According
to Soma, &lt;/font&gt;&lt;a href="http://blogs.msdn.com/somasegar/archive/2008/06/03/on-stage-at-the-teched-2008-keynote.aspx"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;"[Velocity
is] &lt;span style="mso-themecolor: text1"&gt;&lt;span style="COLOR: black; FONT-FAMILY: Arial"&gt;a
distributed in-memory application cache platform that makes it easier to develop scalable,
high-performance applications needing frequent access to disparate data sources. Large
clusters of machines can be &lt;i&gt;s&lt;/i&gt;eamlessly integrated into a single cache providing
high availability to data."&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;font face=Arial&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-themecolor: text1"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Visual
Studio 2008 Extensions for SPS announced&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;font face=Arial&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-themecolor: text1"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Silverlight
2 Beta 2 demoed&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;font face=Arial&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;span style="mso-themecolor: text1"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;font color=#000000&gt;Release
of latest Sync Framework&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;/font&gt;&lt;span style="mso-themecolor: text1"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;font color=#000000&gt; 
&lt;hr&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;
&lt;font face=Arial&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;span style="mso-themecolor: text1"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 13.5pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;/span&gt;&lt;font size=4&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Pragmatic
Architecture: The Role of an Architect &lt;em&gt;&lt;span style="FONT-FAMILY: Verdana"&gt;with
Ted Neward&lt;/span&gt;&lt;/em&gt;&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul type=disc&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Architects
spend too much time defining their role&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;The
building architect analogy is good, but the maestro/conductor comparison is better.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;How
do we start polishing the process of software architecture over the next 5-10 years?&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Why
is there often a negative connotation with the title "Architect"&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Some
architects really have no idea what is going on.&amp;nbsp; You must understand the big
picture before you can create solutions at this level.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l2 level1 lfo2; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Should
architects still write code?&amp;nbsp; Absolutely!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;span style="FONT-SIZE: 13.5pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;font face=Arial color=#000000&gt; 
&lt;hr align=center width="100%" size=2&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;span style="FONT-SIZE: 13.5pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt; 
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;br&gt;
&lt;font color=#000000&gt;&lt;font size=4&gt;&lt;font face=Arial&gt;Best Practices with the Microsoft
Visual C# 3.0 Language Features&amp;nbsp;&lt;em&gt;&lt;span style="FONT-FAMILY: Verdana"&gt;with Mads
Torgersen (PM for C#)&lt;/span&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;&lt;font face=Arial size=4&gt; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;font face=Arial&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Automatically
implemented properties&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;public string CustomerID
{ get; set; }&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Implicitly
typed Local variables&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;var custs = new List&amp;lt;Customer&amp;gt;()&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;{&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;new Customer()&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;{&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;CustomerID
= “MADST”;&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;CustomerName
= “Mads Torgersen”;&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;City
= “Redmond”;&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;}&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;}&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Collection
and Object Initializers&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Code-result Isomorphism&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Shape
imitates result&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;ObjectDumper&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Extension
Methods&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Public static IEnumerable&amp;lt;Customer&amp;gt;
GetLondoners(this IEnumerable&amp;lt;Customer&amp;gt; source)&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Foreach (var c in
source)&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;{&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If
(c.City == “London”) yield return c;&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;}&lt;br&gt;
Allows you to insert extension methods into an instance (even if static)&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;New functionality
on existing types&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Scoped by using causes&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Interfaces &amp;amp; constructed
types&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Lambda
Expressions&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Public static IEnumerable&amp;lt;T&amp;gt;
Filter &amp;lt;T&amp;gt;(GetLondoners(this IEnumerable&amp;lt;T&amp;gt; source, Predicate&amp;gt;T&amp;gt;
p)&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;foreach (var c in
source)&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;{&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If
(p(c)) yield return c;&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;}&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;var query customers.Filter(delegate(Customer
c) { return c.City == “London”; };&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Terse
syntax for anonymous methods:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;var query customers.Filter(c
=&amp;gt;{ c.City == “London”;});&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;br&gt;
&lt;/span&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;*When you only
have one thing left you can remove the parens&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;LINQ
to Objects&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;var
query = Customers&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.Where(
c=&amp;gt; c.City == “London”);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.Select
( c=&amp;gt; c.ContactName);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;ObjectDumper.Write(query);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;Monads&lt;/span&gt;&lt;/b&gt;&lt;span style="COLOR: black"&gt; –
Look into this&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Don’t
use LINQ for *other magic* that is not a query&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="COLOR: black"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;Expression
Trees&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Related to link&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Expression(of) &lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font face=Arial&gt;&lt;span style="COLOR: black"&gt;Represents a lambda
expression as an expression tree at runtime&lt;/span&gt;&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="COLOR: #003300"&gt;
&lt;o:p&gt;
&lt;font face=Arial color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;span style="COLOR: black"&gt;&lt;font face=Arial color=#000000&gt; 
&lt;hr align=center width="100%" size=2&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;font size=2&gt;&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 13.5pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;ASP.NET
MVC &lt;em&gt;&lt;span style="FONT-FAMILY: Verdana"&gt;with Scott Hanselman&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt; 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul type=disc&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Separation
of Concerns!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;A
new .NET project type&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Designed
to be very easily testable with minimal need for mocking objects compared with other
patterns&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Test
with mbunit or integrated VS test system&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Uses
three new namespaces:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;ul type=circle&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 1.0in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;System.Web.Abstractions&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 1.0in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;System.Web.Mvc;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list 1.0in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;&lt;font face=Arial&gt;System.Web.Routing;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;"Bin-deployable"&amp;nbsp;These
new assemblies do not have to be installed in the GAC.&amp;nbsp; Useful when you can't,
or are afraid to, install them there.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Flexible.&amp;nbsp;
Plays well with Winforms&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Fundamental
to .NET from version 3.5 forward&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Demo
of red-green TDD.&amp;nbsp; This is really quite easy with MVC because of much improved
separation of concerns when used properly&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;JQuery
and AJAX compatible&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Dove
into the call stack for MVC at runtime, it's quite&amp;nbsp;informative for understanding
what's going on "under the covers".&amp;nbsp; Have a look at the call stack of a running
MVC app to get a good picture of what's going on.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Discussion
of Routing&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Provides
for cleaner URLs and HTML&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Phil
Haack (PM for MVC) is open to suggestions from the community and will be incorporating
recommendations&amp;nbsp;from developers as much as possible.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;"Strongly
typed query strings"&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;font face=Arial&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Much
better than average runtime errors when something goes wrong.&amp;nbsp; This is strange
but true!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt; &lt;/font&gt; 
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-list: l1 level1 lfo3; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font face=Arial color=#000000&gt;Discussed
Extension Methods, Lambda queries, and LINQ&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=0f360304-7872-4b34-859d-e246aea030f2" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,0f360304-7872-4b34-859d-e246aea030f2.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font face="Courier New" color="#008000">
            <strong>privacyLink.Text = String.Format("&lt;a
href=\"{0}\"{2}&gt;{1}&lt;/a&gt;", hrefLink, LinkBuilder.ExtractTextFromLink(links[0]));</strong>
          </font>
        </p>
        <p>
This caused me a bit of grief this evening.  While I am not a fan of building
strings like this, it's the way things were and I had to run with it.  In an
ideal world this would be done with a text or html writer, but I'll be happy with
anything short of basic string concatenation.  
</p>
        <p>
While refactoring a fairly large application for a web analytics migration, I missed
one small but key problem with the line of code listed above.  The error given
was referencing an array index out of bounds or an undefined array index referenced. 
Thus I immediately went chasing after a possible problem with the links array being
empty or null.  This proved futile, and after a few minutes of tracing the flow
and checking the history of changes on this file it became apparent that if there
was a problem with the array reference, it had been an issue for at least six months.  
</p>
        <p>
Google had a cached copy of the page, indexed before my code push, which told me it
had definitely been working before I touched anything.  I decided a closer look
at the String.Format() method call was necessary.  In this instance we're expecting
a string formatter and an array of one or more strings as additional parameters.  
</p>
        <p>
Since this uses late binding of the string parameters into the formatter, the compiler
never checks that the correct number of arguments are specified.  It would have
been nice if the compiler had been designed to parse the formatter and fail the compilation
if one too few arguments were provided, but understandably that responsiblity falls
on the developer in this case.
</p>
        <p>
There were some key factors in why this bug made it into production before being caught
during testing there:
</p>
        <ul>
          <li>
Partially centralized link building, duplicated in many different portions of the
application when a single linkbuilding class would have been ideal.  In reality,
halfway OOP is often much worse than none at all.<br /></li>
          <li>
Code that is not testable with out cost-prohibitive refactoring.<br /></li>
          <li>
Limited content and resources with which to test in the staging environment<br /></li>
          <li>
The error only occurs when a custom privacy policy link is used, &gt;70% of the time
the default is used.  Only 5 of well over 100,000 pages were throwing the error.<br /></li>
          <li>
Lack of automated tests on production data.  We're working to eliminate this
particular hindrance, but precious time for such "extras" is always scarce.</li>
        </ul>
        <p>
I was eventually able to correct the error and push the code up to staging and pre-production
to validate the fix.  In the end the fix made its way to production before customers
became aware of the problem, but these kind of errors are preventable by working to
correct the problems listed above.<br /></p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0" />
      </body>
      <title>Late binding, testable code, and why wasn't the compiler designed to catch that?</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/05/29/LateBindingTestableCodeAndWhyWasntTheCompilerDesignedToCatchThat.aspx</link>
      <pubDate>Thu, 29 May 2008 01:40:17 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font face="Courier New" color=#008000&gt;&lt;strong&gt;privacyLink.Text = String.Format("&amp;lt;a
href=\"{0}\"{2}&amp;gt;{1}&amp;lt;/a&amp;gt;", hrefLink, LinkBuilder.ExtractTextFromLink(links[0]));&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
This caused me a bit of grief this evening.&amp;nbsp; While I am not a fan of building
strings like this, it's the way things were and I had to run with it.&amp;nbsp; In an
ideal world this would be done with a text or html writer, but I'll be happy with
anything short of basic string concatenation.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
While refactoring a fairly large application for a web analytics migration, I missed
one small but key problem with the line of code listed above.&amp;nbsp; The error given
was referencing an array index out of bounds or an undefined array index referenced.&amp;nbsp;
Thus I immediately went chasing after a possible problem with the links array being
empty or null.&amp;nbsp; This proved futile, and after a few minutes of tracing the flow
and checking the history of changes on this file it became apparent that if there
was a problem with the array reference, it had been an issue for at least six months.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Google had a cached copy of the page, indexed before my code push, which told me it
had definitely been working before I touched anything.&amp;nbsp; I decided a closer look
at the String.Format() method call was necessary.&amp;nbsp; In this instance we're expecting
a string formatter and an array of one or more strings as additional parameters.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Since this uses late binding of the string parameters into the formatter, the compiler
never checks that the correct number of arguments are specified.&amp;nbsp; It would have
been nice if the compiler had been designed to parse the formatter and fail the compilation
if one too few arguments were provided, but understandably that responsiblity falls
on the developer in this case.
&lt;/p&gt;
&lt;p&gt;
There were some key factors in why this bug made it into production before being caught
during testing there:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Partially centralized link building, duplicated in many different portions of the
application when a single linkbuilding class would have been ideal.&amp;nbsp; In reality,
halfway OOP is often much worse than none at all.&lt;br&gt;
&lt;li&gt;
Code that is not testable with out cost-prohibitive refactoring.&lt;br&gt;
&lt;li&gt;
Limited content and resources with which to test in the staging environment&lt;br&gt;
&lt;li&gt;
The error only occurs when a custom privacy policy link is used, &amp;gt;70% of the time
the default is used.&amp;nbsp; Only 5 of well over 100,000 pages were throwing the error.&lt;br&gt;
&lt;li&gt;
Lack of automated tests on production data.&amp;nbsp; We're working to eliminate this
particular hindrance, but precious time for such "extras" is always scarce.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I was eventually able to correct the error and push the code up to staging and pre-production
to validate the fix.&amp;nbsp; In the end the fix made its way to production before customers
became aware of the problem, but these kind of errors are preventable by working to
correct the problems listed above.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,5477f6f7-4c9b-40a2-9e4f-3725f92a0fa0.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=7076bf98-821a-4a26-bcd1-1d43948eba0a</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,7076bf98-821a-4a26-bcd1-1d43948eba0a.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,7076bf98-821a-4a26-bcd1-1d43948eba0a.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7076bf98-821a-4a26-bcd1-1d43948eba0a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
See you there!
</p>
        <p>
          <a href="http://tinyurl.com/4l4bdr" target="_blank" rel="nofollow">http://tinyurl.com/4l4bdr</a>
        </p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=7076bf98-821a-4a26-bcd1-1d43948eba0a" />
      </body>
      <title>SocialDevCampEast</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,7076bf98-821a-4a26-bcd1-1d43948eba0a.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/05/01/SocialDevCampEast.aspx</link>
      <pubDate>Thu, 01 May 2008 23:16:40 GMT</pubDate>
      <description>&lt;p&gt;
See you there!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://tinyurl.com/4l4bdr" target=_blank rel=nofollow&gt;http://tinyurl.com/4l4bdr&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=7076bf98-821a-4a26-bcd1-1d43948eba0a" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,7076bf98-821a-4a26-bcd1-1d43948eba0a.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=2f53b775-d54c-4880-9d73-4b68520cb8b9</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,2f53b775-d54c-4880-9d73-4b68520cb8b9.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,2f53b775-d54c-4880-9d73-4b68520cb8b9.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2f53b775-d54c-4880-9d73-4b68520cb8b9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On a somewhat limited timeframe (Saturday late morning until Sunday night), I seem
to have picked the perfect destination to escape city life and enjoy some great <a href="http://www.flickr.com/photos/ballance/sets/72157604650926201/">views</a> of <a href="http://www.northcarolinaoutdoors.com/places/mountains/linvillegorge.html">Linville
Gorge</a>.  
</p>
        <p>
Was a great opportunity to try out my <a href="http://www.trailspace.com/gear/msr/fury/">new
tent</a> in stormy &amp; windy weather.  It deflected both wind and rain quite
effectively.
</p>
        <p>
We went down the twisty 8 mile gravel road from 181 to the parking area at Table Rock,
and then it was a short 1 mile hike to the summit on Saturday evening.  The fog
had engulfed the entire mountain, hiding the many spendid views until it lifted mid-morning
on Sunday.  
</p>
        <p>
The sunrise was just incredible, one of the best I've ever seen.  The sunshine
quickly pushed back the clouds from the day before, slowly giving way to some breathtaking
views.
</p>
        <p>
Roxy faired well, as usual, except when I had the bright idea of launching the last
piece of Bridget's uneaten <a href="http://www.clifbar.com/">Cliff Bar</a> off the
side of a cliff; and then scrambling to convince her that I was <strong>not</strong> playing
fetch with her.  Luckily she had more sense than her owner this time.
</p>
        <p>
Timing was crucial, as we packed things into the tent just after finishing cooking
dinner and nothing got wet before we were able to get all our gear stowed away in
the tent or the covered vestibule.  The spot we camped at had this random level
grassy patch among the rocks that seemed to have no other purpose than a nice soft
place to camp on.  There were some good areas at the summit too, but it was far
more rocky and uneven; though had keenly positioned bushes that would have shielded
us from a significant bit of wind, had we not turned in early because of the rain.  
</p>
        <p>
I was initially a little reluctant to carry my <a href="http://www.amazon.com/Canon-Digital-Rebel-Camera-18-55mm/dp/B0000C8VEK">camera</a> because
of the extra weight of a SLR vs. a point &amp; shoot, but the extra weight was neglegible
on this short trek and the photos I got wouldn't have been half as good.  The
tripod did, however, stay in the car, as there really wasn't a place to attach it
to my pack and the extra 5-7lbs would have been annoying.  Next time I'll invest
in one of those bendable gorilla arm tripod-like devices to be able to do some time-lapse
and low-light shots.
</p>
        <p>
Half-way down the mountain we scoped out a lower nearby peak as a possible site for
future trips in the area and found it to be an excellent group camping site with plenty
of locations to see around half of the Gorge.  It's not quite high enough to
see <a href="http://www.ncparks.gov/Visit/parks/laja/main.php">Lake James</a> as you
could at the summit, but there is room to bring a few friends with you without them
having to sleep on rocks.
</p>
        <p>
All the steep cliffs reminded me of my last Gorge experience when my older brother
fell around 60 feet from a ledge when the weight in his day-pack shifted and pulled
him over the side.  We're all very lucky his fall was broken by a thick spanse
of thorn bushes!  So I took a lot of extra care any time the verticals looked
particularly threatening.  
</p>
        <p>
Pulling out the map, I was able to verify that you can indeed see Babel Tower from
Table Rock, as I had suspected.  The Babel Tower trail is a favorite of many,
including myself; as it is particularly challenging with a full equipment load. 
By Sunday when the clouds cleared out a bit you were able to see Sandy Flats from
most any part of the Table Rock upper ridge area.<a href="http://www.flickr.com/photos/ballance/sets/72157604650926201/"><img style="WIDTH: 636px; HEIGHT: 485px" height="1536" src="http://www.chrisballance.com/Blog/content/binary/IMG_6950.jpg" width="2182" border="0" /></a></p>
        <p>
I believe Laurel Knob is the next camping spot on my list in the Gorge.
</p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=2f53b775-d54c-4880-9d73-4b68520cb8b9" />
      </body>
      <title>Trip to the summit of Table Rock in Linville Gorge</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,2f53b775-d54c-4880-9d73-4b68520cb8b9.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/04/20/TripToTheSummitOfTableRockInLinvilleGorge.aspx</link>
      <pubDate>Sun, 20 Apr 2008 22:15:08 GMT</pubDate>
      <description>&lt;p&gt;
On a somewhat limited timeframe (Saturday late morning until Sunday night), I seem
to have picked the perfect destination to escape city life and enjoy some great &lt;a href="http://www.flickr.com/photos/ballance/sets/72157604650926201/"&gt;views&lt;/a&gt; of &lt;a href="http://www.northcarolinaoutdoors.com/places/mountains/linvillegorge.html"&gt;Linville
Gorge&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Was a great opportunity to try out my &lt;a href="http://www.trailspace.com/gear/msr/fury/"&gt;new
tent&lt;/a&gt; in stormy &amp;amp; windy weather.&amp;nbsp; It deflected both wind and rain quite
effectively.
&lt;/p&gt;
&lt;p&gt;
We went down the twisty 8 mile gravel road from 181 to the parking area at Table Rock,
and then it was a short 1 mile hike to the summit on Saturday evening.&amp;nbsp; The fog
had engulfed the entire mountain, hiding the many spendid views until it lifted mid-morning
on Sunday.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The sunrise was just incredible, one of the best I've ever seen.&amp;nbsp; The sunshine
quickly pushed back the clouds from the day before, slowly giving way to some breathtaking
views.
&lt;/p&gt;
&lt;p&gt;
Roxy faired well, as usual, except when I had the bright idea of launching the last
piece of Bridget's uneaten &lt;a href="http://www.clifbar.com/"&gt;Cliff Bar&lt;/a&gt; off the
side of a cliff; and then scrambling to convince her that I was &lt;strong&gt;not&lt;/strong&gt; playing
fetch with her.&amp;nbsp; Luckily she had more sense than her owner this time.
&lt;/p&gt;
&lt;p&gt;
Timing was crucial, as we packed things into the tent just after finishing cooking
dinner and nothing got wet before we were able to get all our gear stowed away in
the tent or the covered vestibule.&amp;nbsp; The spot we camped at had this random level
grassy patch among the rocks that seemed to have no other purpose than a nice soft
place to camp on.&amp;nbsp; There were some good areas at the summit too, but it was far
more rocky and uneven; though had keenly positioned bushes that would have shielded
us from a significant bit of wind, had we not turned in early because of the rain.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I was initially a little reluctant to carry my &lt;a href="http://www.amazon.com/Canon-Digital-Rebel-Camera-18-55mm/dp/B0000C8VEK"&gt;camera&lt;/a&gt; because
of the extra weight of a SLR vs. a point &amp;amp; shoot, but the extra weight was neglegible
on this short trek and the photos I got wouldn't have been half as good.&amp;nbsp; The
tripod did, however, stay in the car, as there really wasn't a place to attach it
to my pack and the extra 5-7lbs would have been annoying.&amp;nbsp; Next time I'll invest
in one of those bendable gorilla arm tripod-like devices to be able to do some time-lapse
and low-light shots.
&lt;/p&gt;
&lt;p&gt;
Half-way down the mountain we scoped out a lower nearby peak as a possible site for
future trips in the area and found it to be an excellent group camping site with plenty
of locations to see around half of the Gorge.&amp;nbsp; It's not quite high enough to
see &lt;a href="http://www.ncparks.gov/Visit/parks/laja/main.php"&gt;Lake James&lt;/a&gt; as you
could at the summit, but there is room to bring a few friends with you without them
having to sleep on rocks.
&lt;/p&gt;
&lt;p&gt;
All the steep cliffs reminded me of my last Gorge experience when my older brother
fell around 60 feet from a ledge when the weight in his day-pack shifted and pulled
him over the side.&amp;nbsp; We're all very lucky his fall was broken by a thick spanse
of thorn bushes!&amp;nbsp; So I took a lot of extra care any time the verticals looked
particularly threatening.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Pulling out the map, I was able to verify that you can indeed see Babel Tower from
Table Rock, as I had suspected.&amp;nbsp; The Babel Tower trail is a favorite of many,
including myself; as it is particularly challenging with a full equipment load.&amp;nbsp;
By Sunday when the clouds cleared out a bit you were able to see Sandy Flats from
most any part of the Table Rock upper ridge area.&lt;a href="http://www.flickr.com/photos/ballance/sets/72157604650926201/"&gt;&lt;img style="WIDTH: 636px; HEIGHT: 485px" height=1536 src="http://www.chrisballance.com/Blog/content/binary/IMG_6950.jpg" width=2182 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I believe Laurel Knob is the next camping spot on my list in the Gorge.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=2f53b775-d54c-4880-9d73-4b68520cb8b9" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,2f53b775-d54c-4880-9d73-4b68520cb8b9.aspx</comments>
      <category>Linville Gorge</category>
      <category>Outdoors</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=cfd2cc33-470c-4137-8244-9a88e8e35ecc</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,cfd2cc33-470c-4137-8244-9a88e8e35ecc.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,cfd2cc33-470c-4137-8244-9a88e8e35ecc.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cfd2cc33-470c-4137-8244-9a88e8e35ecc</wfw:commentRss>
      <title>Camping trip - April 18th to April 20th ("May" was a typo)</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,cfd2cc33-470c-4137-8244-9a88e8e35ecc.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/04/10/CampingTripApril18thToApril20thMayWasATypo.aspx</link>
      <pubDate>Thu, 10 Apr 2008 15:50:52 GMT</pubDate>
      <description>&lt;h1 align=left&gt;&lt;font face=Arial color=#006400&gt;~A Camping Trip~&lt;/font&gt;
&lt;/h1&gt;
&lt;h3 align=left&gt;&lt;font face=Arial color=#006400&gt;April&amp;nbsp;18th to&amp;nbsp;April 20th ("May"
was a typo)&lt;/font&gt;
&lt;/h3&gt;
&lt;p align=left&gt;
We&amp;nbsp;are thinking of staying at or near Linville falls.&amp;nbsp; It's either there
or at Price Park and drive over the the nearby falls.&amp;nbsp; Let me know if you and/or
friends want to go.&amp;nbsp; The more the merrier.&amp;nbsp; We just need to know how many
so we can try to reserve enough space for everyone.&amp;nbsp; If you need a tent let me
know, I have a couple&amp;nbsp;or three&amp;nbsp;extras.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Linville
Falls Campground, located off the Blue Ridge Parkway at milepost 317, is family oriented,
located next to the Linville River. It provides easy access to numerous hiking trails
to some of the most beautiful scenery in the Linville Gorge area. Interpretive programs
are provided on weekends during the peak recreation season. Fishing opportunities
are available on the Linville River.&lt;/span&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face=Arial&gt;&lt;img src="http://www.chrisballance.com/Blog/content/binary/upperFalls.bmp" border=0&gt;&amp;nbsp;&lt;img src="http://www.chrisballance.com/Blog/content/binary/campsiteView.bmp" border=0&gt;&amp;nbsp;&lt;img src="http://www.chrisballance.com/Blog/content/binary/lowerFalls.bmp" border=0&gt;&amp;nbsp;&lt;img src="http://www.chrisballance.com/Blog/content/binary/towerViewFalls.bmp" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;span style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;font face=Arial size=3&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;span style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;font size=3&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;Julian
Price Park Campground is located on the beautiful Blue Ridge Parkway near Boone and
Blowing Rock NC. The campground is adjacent to Price Lake. Fishing and boating are
allowed. Fishing requires a state license and no motor boats are permitted. Canoe
and rowboat rental is available from Memorial Day - Labor Day, and on weekends in
early May, late September and the month of October. Hiking trails and trailheads are
located within the campground.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face=Arial&gt;&lt;img src="http://www.chrisballance.com/Blog/content/binary/PricePark1.bmp" border=0&gt;&amp;nbsp;&lt;img src="http://www.chrisballance.com/Blog/content/binary/pricePark2.bmp" border=0&gt;&amp;nbsp;&lt;img src="http://www.chrisballance.com/Blog/content/binary/PricePark4.bmp" border=0&gt;&lt;img src="http://www.chrisballance.com/Blog/content/binary/PricePark3.bmp" border=0&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face=Arial&gt;Please &lt;a href="mailto:ballance@gmail.com"&gt;RSVP&lt;/a&gt; as soon as possible
but at least&amp;nbsp;by Wednesday April 16 if interested. &lt;/font&gt;
&lt;/p&gt;
&lt;p align=left&gt;
&lt;font face=Arial&gt;//Chris&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=cfd2cc33-470c-4137-8244-9a88e8e35ecc" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,cfd2cc33-470c-4137-8244-9a88e8e35ecc.aspx</comments>
      <category>General</category>
      <category>Outdoors</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=4fec798a-4f16-48ce-9adc-58ab7d4e7e37</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,4fec798a-4f16-48ce-9adc-58ab7d4e7e37.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,4fec798a-4f16-48ce-9adc-58ab7d4e7e37.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4fec798a-4f16-48ce-9adc-58ab7d4e7e37</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/events/teched2008/developer/default.mspx">
            <img src="http://www.chrisballance.com/Blog/content/binary/signature-DEV2.jpg" border="0" />
          </a>
          <br />
          <img src="http://farm3.static.flickr.com/2415/2397468456_449560b4d6.jpg" />
        </p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=4fec798a-4f16-48ce-9adc-58ab7d4e7e37" />
      </body>
      <title>Tech Ed 2008</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,4fec798a-4f16-48ce-9adc-58ab7d4e7e37.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/04/08/TechEd2008.aspx</link>
      <pubDate>Tue, 08 Apr 2008 00:11:57 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.microsoft.com/events/teched2008/developer/default.mspx"&gt;&lt;img src="http://www.chrisballance.com/Blog/content/binary/signature-DEV2.jpg" border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;img src="http://farm3.static.flickr.com/2415/2397468456_449560b4d6.jpg"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=4fec798a-4f16-48ce-9adc-58ab7d4e7e37" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,4fec798a-4f16-48ce-9adc-58ab7d4e7e37.aspx</comments>
      <category>General</category>
      <category>Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=4618e099-829a-48b2-a511-80999b403ead</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,4618e099-829a-48b2-a511-80999b403ead.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,4618e099-829a-48b2-a511-80999b403ead.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4618e099-829a-48b2-a511-80999b403ead</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <style type="text/css">.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }</style>
        <div class="flickr-frame">
          <a href="http://www.skybus.com">http://www.skybus.com</a>
        </div>
        <div class="flickr-frame">That didn't take long... Regardless of their official reasons
for closing on their site, I would venture to guess that the combination of charging
$10 per ticket and using GSO as a major hub played a large role.<br /><br />
It's still a little disappointing to see GSO add and lose an airline so quickly
</div>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=4618e099-829a-48b2-a511-80999b403ead" />
      </body>
      <title>Skybus is shutting down today</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,4618e099-829a-48b2-a511-80999b403ead.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/04/05/SkybusIsShuttingDownToday.aspx</link>
      <pubDate>Sat, 05 Apr 2008 18:10:46 GMT</pubDate>
      <description>
&lt;style type=text/css&gt;.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;
&lt;div class=flickr-frame&gt;&lt;a href="http://www.skybus.com"&gt;http://www.skybus.com&lt;/a&gt;
&lt;/div&gt;
&lt;div class=flickr-frame&gt;That didn't take long... Regardless of their official reasons
for closing on their site, I would venture to guess that the combination of charging
$10 per ticket and using GSO as a major hub played a large role.&lt;br&gt;
&lt;br&gt;
It's still a little disappointing to see GSO add and lose an airline so quickly
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=4618e099-829a-48b2-a511-80999b403ead" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,4618e099-829a-48b2-a511-80999b403ead.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.chrisballance.com/Blog/Trackback.aspx?guid=e94d8022-2de7-43d8-977c-84286863ddd3</trackback:ping>
      <pingback:server>http://www.chrisballance.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisballance.com/Blog/PermaLink,guid,e94d8022-2de7-43d8-977c-84286863ddd3.aspx</pingback:target>
      <dc:creator>Chris Ballance</dc:creator>
      <wfw:comment>http://www.chrisballance.com/Blog/CommentView,guid,e94d8022-2de7-43d8-977c-84286863ddd3.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisballance.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e94d8022-2de7-43d8-977c-84286863ddd3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <style type="text/css">.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }</style>
        <div class="flickr-frame">
          <a title="photo sharing" href="http://www.flickr.com/photos/24991097@N08/2389264640/">
            <img class="flickr-photo" alt="" src="http://farm4.static.flickr.com/3171/2389264640_842873823b.jpg" />
          </a>
          <br />
          <span class="flickr-caption">
            <a href="http://www.flickr.com/photos/24991097@N08/2389264640/">Spooky!</a>,
originally uploaded by <a href="http://www.flickr.com/people/24991097@N08/">ballance5702</a>.</span>
        </div>
        <p class="flickr-yourcomment">
This is a time lapse shot I took of some friends around a bonfire in the backyard.
I'm not quite sure who the uninvited guest in the tree is.  Invader Zim or the
rabbit from Donnie Darko?
</p>
        <img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=e94d8022-2de7-43d8-977c-84286863ddd3" />
      </body>
      <title>Spooky thing in the tree.</title>
      <guid isPermaLink="false">http://www.chrisballance.com/Blog/PermaLink,guid,e94d8022-2de7-43d8-977c-84286863ddd3.aspx</guid>
      <link>http://www.chrisballance.com/Blog/2008/04/05/SpookyThingInTheTree.aspx</link>
      <pubDate>Sat, 05 Apr 2008 18:07:34 GMT</pubDate>
      <description>
&lt;style type=text/css&gt;.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;
&lt;div class=flickr-frame&gt;&lt;a title="photo sharing" href="http://www.flickr.com/photos/24991097@N08/2389264640/"&gt;&lt;img class=flickr-photo alt="" src="http://farm4.static.flickr.com/3171/2389264640_842873823b.jpg"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;span class=flickr-caption&gt;&lt;a href="http://www.flickr.com/photos/24991097@N08/2389264640/"&gt;Spooky!&lt;/a&gt;,
originally uploaded by &lt;a href="http://www.flickr.com/people/24991097@N08/"&gt;ballance5702&lt;/a&gt;.&lt;/span&gt;
&lt;/div&gt;
&lt;p class=flickr-yourcomment&gt;
This is a time lapse shot I took of some friends around a bonfire in the backyard.
I'm not quite sure who the uninvited guest in the tree is. &amp;nbsp;Invader Zim or the
rabbit from Donnie Darko?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisballance.com/Blog/aggbug.ashx?id=e94d8022-2de7-43d8-977c-84286863ddd3" /&gt;</description>
      <comments>http://www.chrisballance.com/Blog/CommentView,guid,e94d8022-2de7-43d8-977c-84286863ddd3.aspx</comments>
    </item>
  </channel>
</rss>