<?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>Brian Noyes' Blog - Speaking</title>
    <link>http://briannoyes.net/</link>
    <description>.NET Ramblings</description>
    <language>en-us</language>
    <copyright>Brian Noyes</copyright>
    <lastBuildDate>Sat, 10 May 2008 14:18:47 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.12105.0</generator>
    <managingEditor>brian.noyes@gmail.com</managingEditor>
    <webMaster>brian.noyes@gmail.com</webMaster>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=5a11169c-cffd-46b9-b4ed-add4bfd5ec05</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,5a11169c-cffd-46b9-b4ed-add4bfd5ec05.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,5a11169c-cffd-46b9-b4ed-add4bfd5ec05.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5a11169c-cffd-46b9-b4ed-add4bfd5ec05</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It will definitely be a busy TechEd for me this year. I'll be giving six sessions
at TechEd Developers Orlando in June, as well as spending a lot of time in the TLCs
and at the RD booth..
</p>
        <p>
The sessions are as follows:
</p>
        <p>
Tue, 3 June, 11:30-12:30 AM: Vista Ask the Experts area
</p>
        <p>
Doing Q&amp;A on selecting the right client technology.
</p>
        <p>
Tue, 3 June, 1:15-2:30 PM: WIN315 - Data Binding in WPF
</p>
        <p>
This talk will cover the A-Z of data binding capabilities in WPF. I'll start by talking
about the different kinds of data sources you can bind to and the interfaces those
data sources need to support to have high fidelity data binding. Then I'll go through
what data contexts are and how they allow you to flow data into you UI in a more decoupled
fashion. Then I'll get into Binding objects and how you use them to hook up the data
binding to your controls, and the many capabilities they expose. Then I cover navigating
and filtering your data with collection views, and finally finish up with data validation.
</p>
        <p>
Tue, 3 June, 4:00-5:00 PM: Vista Ask the Experts area
</p>
        <p>
Doing Q&amp;A on WPF Data Binding
</p>
        <p>
Wed, 4 June, 10:15-11:30 AM: ARC304 - Selecting the Right Client Technology
</p>
        <p>
This talk covers the spectrum of options that exist for building client UI applications
today, helping you to make the right choice when getting started with a new UI application.
I start by talking about the decision between smart client and browser based applications,
drawing out the pros and cons of each approach. Then I get into each of the current
technologies including WPF, Windows Forms, ASP.NET, ASP.NET AJAX, and Silverlight,
and talk about the pros/cons, differences/similarities between each of those technologies.
</p>
        <p>
Thu, 5 June, 4:30-5:45 PM: WIN301 - Windows Presentation Foundation in Windows Forms
and Vice Versa
</p>
        <p>
This talk covers the interoperability story between Windows Forms and WPF, which is
a great one. I start with the motivations of why you would want to use interop as
opposed to building a homogenous application in one or the other technology. Then
I show how to embed WPF controls in a Windows Forms application, and Windows Forms
controls in a WPF application. If it were just about the code required to do those
things, I could give this talk in about 10 minutes. But of course, there are always
other considerations and hazards to be aware of when doing interop between technology
stacks, so I then let you know what those hazards are and how to address them.
</p>
        <p>
Fri, 6 Jun, 8:30-9:45 AM: WIN306 Building Differentiated UI Applications Using Composite
Windows Presentation Foundation
</p>
        <p>
I'll be joining Glenn Block from p&amp;p to code monkey for this session on using <a href="http://www.codeplex.com/Prism">Prism</a> to
build composite WPF solutions. <a href="http://briannoyes.net/2008/04/29/PrismCompositeWPFGuidance.aspx">I've
been working</a> with the team part time building this, so Glenn was nice enough to
invite me to help present.
</p>
        <p>
Fri, 6 June, 1:00-2:15 PM: SOA305 - Getting Workflows Running and Talking in Your
Applications
</p>
        <p>
This talk covers the hosting and communications aspects of Windows Workflow Foundation
(WF). You will learn how to set up the host environment for running workflows, how
to leverage persistence and tracking, how to pass parameters into a workflow and get
them back out when it completes, and how to make calls from the host application into
the workflow. I'll also briefly discuss making service calls into and out from a workflow,
but don't demo those in details because my TLC session (listed next) covers doing
that in detail.
</p>
        <p>
Fri, 6 June, 2:45-4:00 PM: SOA08-TLC - Developing Service Oriented Workflows
</p>
        <p>
This talk shows you how to leverage the new WCF related capabilities in WF 3.5 to
build workflows that particpate directly in your service oriented architecture. You'll
see how to use the Receive and Send activities, the context bindings that take care
of automatically routing incoming messages to the right workflow instance, and the
WorkflowServiceHost class to host your workflows. This is a TLC session down on the
show floor, and the rule of the game there is max interaction, and minimum if any
PowerPoint. I in fact have only two slides planned, a couple architecture diagrams
to couch the discussion, and the rest will be all code demos showing you how to really
leverage this stuff.
</p>
        <p>
I also plan to spend an hour after each session in the associated TLC area, and then
most of the rest in the RD booth.
</p>
        <p>
If you are going to be at TechEd, I hope to see you at one of my sessions. If so,
stop by and say hi and let me know you are one of the few who actually read my blog.
:)
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=5a11169c-cffd-46b9-b4ed-add4bfd5ec05" />
      </body>
      <title>Upcoming TechEd Talks</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,5a11169c-cffd-46b9-b4ed-add4bfd5ec05.aspx</guid>
      <link>http://briannoyes.net/2008/05/10/UpcomingTechEdTalks.aspx</link>
      <pubDate>Sat, 10 May 2008 14:18:47 GMT</pubDate>
      <description>&lt;p&gt;
It will definitely be a busy TechEd for me this year. I'll be giving six sessions
at TechEd Developers Orlando in June, as well as spending a lot of time in the TLCs
and at the RD booth..
&lt;/p&gt;
&lt;p&gt;
The sessions are as follows:
&lt;/p&gt;
&lt;p&gt;
Tue, 3 June, 11:30-12:30 AM: Vista Ask the Experts area
&lt;/p&gt;
&lt;p&gt;
Doing Q&amp;amp;A on selecting the right client technology.
&lt;/p&gt;
&lt;p&gt;
Tue, 3 June, 1:15-2:30 PM: WIN315 - Data Binding in WPF
&lt;/p&gt;
&lt;p&gt;
This talk will cover the A-Z of data binding capabilities in WPF. I'll start by talking
about the different kinds of data sources you can bind to and the interfaces those
data sources need to support to have high fidelity data binding. Then I'll go through
what data contexts are and how they allow you to flow data into you UI in a more decoupled
fashion. Then I'll get into Binding objects and how you use them to hook up the data
binding to your controls, and the many capabilities they expose. Then I cover navigating
and filtering your data with collection views, and finally finish up with data validation.
&lt;/p&gt;
&lt;p&gt;
Tue, 3 June, 4:00-5:00 PM: Vista Ask the Experts area
&lt;/p&gt;
&lt;p&gt;
Doing Q&amp;amp;A on WPF Data Binding
&lt;/p&gt;
&lt;p&gt;
Wed, 4 June, 10:15-11:30 AM: ARC304 - Selecting the Right Client Technology
&lt;/p&gt;
&lt;p&gt;
This talk covers the spectrum of options that exist for building client UI applications
today, helping you to make the right choice when getting started with a new UI application.
I start by talking about the decision between smart client and browser based applications,
drawing out the pros and cons of each approach. Then I get into each of the current
technologies including WPF, Windows Forms, ASP.NET, ASP.NET AJAX, and Silverlight,
and talk about the pros/cons, differences/similarities between each of those technologies.
&lt;/p&gt;
&lt;p&gt;
Thu, 5 June, 4:30-5:45 PM: WIN301 - Windows Presentation Foundation in Windows Forms
and Vice Versa
&lt;/p&gt;
&lt;p&gt;
This talk covers the interoperability story between Windows Forms and WPF, which is
a great one. I start with the motivations of why you would want to use interop as
opposed to building a homogenous application in one or the other technology. Then
I show how to embed WPF controls in a Windows Forms application, and Windows Forms
controls in a WPF application. If it were just about the code required to do those
things, I could give this talk in about 10 minutes. But of course, there are always
other considerations and hazards to be aware of when doing interop between technology
stacks, so I then let you know what those hazards are and how to address them.
&lt;/p&gt;
&lt;p&gt;
Fri, 6 Jun, 8:30-9:45 AM: WIN306 Building Differentiated UI Applications Using Composite
Windows Presentation Foundation
&lt;/p&gt;
&lt;p&gt;
I'll be joining Glenn Block from p&amp;amp;p to code monkey for this session on using &lt;a href="http://www.codeplex.com/Prism"&gt;Prism&lt;/a&gt; to
build composite WPF solutions. &lt;a href="http://briannoyes.net/2008/04/29/PrismCompositeWPFGuidance.aspx"&gt;I've
been working&lt;/a&gt; with the team part time building this, so Glenn was nice enough to
invite me to help present.
&lt;/p&gt;
&lt;p&gt;
Fri, 6 June, 1:00-2:15 PM: SOA305 - Getting Workflows Running and Talking in Your
Applications
&lt;/p&gt;
&lt;p&gt;
This talk covers the hosting and communications aspects of Windows Workflow Foundation
(WF). You will learn how to set up the host environment for running workflows, how
to leverage persistence and tracking, how to pass parameters into a workflow and get
them back out when it completes, and how to make calls from the host application into
the workflow. I'll also briefly discuss making service calls into and out from a workflow,
but don't demo those in details because my TLC session (listed next) covers doing
that in detail.
&lt;/p&gt;
&lt;p&gt;
Fri, 6 June, 2:45-4:00 PM: SOA08-TLC - Developing Service Oriented Workflows
&lt;/p&gt;
&lt;p&gt;
This talk shows you how to leverage the new WCF related capabilities in WF 3.5 to
build workflows that particpate directly in your service oriented architecture. You'll
see how to use the Receive and Send activities, the context bindings that take care
of automatically routing incoming messages to the right workflow instance, and the
WorkflowServiceHost class to host your workflows. This is a TLC session down on the
show floor, and the rule of the game there is max interaction, and minimum if any
PowerPoint. I in fact have only two slides planned, a couple architecture diagrams
to couch the discussion, and the rest will be all code demos showing you how to really
leverage this stuff.
&lt;/p&gt;
&lt;p&gt;
I also plan to spend an hour after each session in the associated TLC area, and then
most of the rest in the RD booth.
&lt;/p&gt;
&lt;p&gt;
If you are going to be at TechEd, I hope to see you at one of my sessions. If so,
stop by and say hi and let me know you are one of the few who actually read my blog.
:)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=5a11169c-cffd-46b9-b4ed-add4bfd5ec05" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,5a11169c-cffd-46b9-b4ed-add4bfd5ec05.aspx</comments>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=9e7f8776-82ea-4342-b148-d2a04643d5c4</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,9e7f8776-82ea-4342-b148-d2a04643d5c4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,9e7f8776-82ea-4342-b148-d2a04643d5c4.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9e7f8776-82ea-4342-b148-d2a04643d5c4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A little late to the game, but I have been struggling with some blog configuration
issues that were preventing me from posting, and have finally found time to tackle
those.
</p>
        <p>
I gave two talks at VS Live! San Francisco.
</p>
        <p>
Here are the slides and demos:
</p>
        <p>
Exploit WPF Graphics without Wounding the Eyes   <a href="http://www.softinsight.com/downloads/Conferences/VSLive/ExploitWPFGraphicsWithoutWoundingtheEyes.pdf">Slides</a>    <a href="http://www.softinsight.com/downloads/Conferences/VSLive/WPFGraphicsDemos.zip">Demos</a></p>
        <p>
Build Composite UI Applications with CAB and SCSF    <a href="http://www.softinsight.com/downloads/Conferences/VSLive/BuildCompositeUIAppswithCABandSCSF.pdf">Slides</a>    <a href="http://www.softinsight.com/downloads/Conferences/VSLive/CAB_SCSF_Demos.zip">Demos</a></p>
        <p>
 
</p>
        <p>
To create the database for the music data demos, you have two choices. 
</p>
        <p>
1) Follow the instructions in this post to create your own music library database
based on your own collection: 
<br /><a title="http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx" href="http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx">http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx</a></p>
        <p>
2) Download a database backup (29MB) from here: <a href="http://www.softinsight.com/downloads/MusicLibrary.bak">http://www.softinsight.com/downloads/MusicLibrary.bak</a> and
restore it.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9e7f8776-82ea-4342-b148-d2a04643d5c4" />
      </body>
      <title>VS Live! San Francisco Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,9e7f8776-82ea-4342-b148-d2a04643d5c4.aspx</guid>
      <link>http://briannoyes.net/2008/04/28/VSLiveSanFranciscoSlidesAndDemos.aspx</link>
      <pubDate>Mon, 28 Apr 2008 11:01:40 GMT</pubDate>
      <description>&lt;p&gt;
A little late to the game, but I have been struggling with some blog configuration
issues that were preventing me from posting, and have finally found time to tackle
those.
&lt;/p&gt;
&lt;p&gt;
I gave two talks at VS Live! San Francisco.
&lt;/p&gt;
&lt;p&gt;
Here are the slides and demos:
&lt;/p&gt;
&lt;p&gt;
Exploit WPF Graphics without Wounding the Eyes&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/VSLive/ExploitWPFGraphicsWithoutWoundingtheEyes.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/VSLive/WPFGraphicsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Build Composite UI Applications with CAB and SCSF&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/VSLive/BuildCompositeUIAppswithCABandSCSF.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/VSLive/CAB_SCSF_Demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
To create the database for the music data demos, you have two choices. 
&lt;/p&gt;
&lt;p&gt;
1) Follow the instructions in this post to create your own music library database
based on your own collection: 
&lt;br&gt;
&lt;a title=http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx href="http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx"&gt;http://briannoyes.net/2008/02/13/BuildYourOwnMusicDatabaseForDemosAndSamples.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) Download a database backup (29MB) from here: &lt;a href="http://www.softinsight.com/downloads/MusicLibrary.bak"&gt;http://www.softinsight.com/downloads/MusicLibrary.bak&lt;/a&gt; and
restore it.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9e7f8776-82ea-4342-b148-d2a04643d5c4" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,9e7f8776-82ea-4342-b148-d2a04643d5c4.aspx</comments>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=acd43605-4d8a-462b-855d-abe798900a18</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,acd43605-4d8a-462b-855d-abe798900a18.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,acd43605-4d8a-462b-855d-abe798900a18.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=acd43605-4d8a-462b-855d-abe798900a18</wfw:commentRss>
      <title>DevConnections Orlando Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,acd43605-4d8a-462b-855d-abe798900a18.aspx</guid>
      <link>http://briannoyes.net/2008/04/24/DevConnectionsOrlandoSlidesAndDemos.aspx</link>
      <pubDate>Thu, 24 Apr 2008 23:10:20 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;I spoke this week at DevConnections
in Orlando. As always a great time and a good show. For those that attended my talks,
thanks for the great participation and questions! For those that didn't, you really
need to work harder on convincing your boss to send you to a DevConnections conference.
The line up of speakers is amazing and the venue is always great.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;The three talks I gave were on
building custom activities in WF, WPF Tools, and Service Oriented workflows.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;You can grab the slides and demos
from the links below.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;Custom WF Activities:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/Noyes_VS_VWF310_Encapsulate_Custom_Business_Processes_with_Custom_WF_Activities.ppt"&gt;Slides&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VWF310_CustomWFActivitiesDemos.zip"&gt;Demos&lt;o:p&gt;&lt;/o:p&gt;
&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;WPF Tools:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/Noyes_VS_VPF304_Leverage_WPF_Development_Tools.ppt"&gt;Slides&lt;/a&gt; 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face=Calibri&gt;SO Workflows:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/Noyes_VS_VAR318_Developing_Service_Oriented_Workflows.ppt"&gt;Slides&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VAR318_SOWorkflowsDemos.zip"&gt;Demos&lt;o:p&gt;&lt;/o:p&gt;
&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=acd43605-4d8a-462b-855d-abe798900a18" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,acd43605-4d8a-462b-855d-abe798900a18.aspx</comments>
      <category>.NET</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=f900c4db-921f-4b7f-a6f5-f2b624be74ef</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,f900c4db-921f-4b7f-a6f5-f2b624be74ef.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,f900c4db-921f-4b7f-a6f5-f2b624be74ef.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f900c4db-921f-4b7f-a6f5-f2b624be74ef</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'll  be speaking at VSLive! San Francisco this year after quite a few years
since doing a VSLive! conference. I'm looking forward to it.
</p>
        <p>
The two talks I'll be giving are:
</p>
        <p>
Exploit WPF Graphics without Wounding the Eyes
</p>
        <p>
Build Composite UI Applications with CAB and SCSF
</p>
        <p>
If you haven’t already registered for VSLive San Francisco, you can receive a $695
discount on the Gold Passport if you register using priority code SPNOY. More at <a href="http://www.vslive.com/sf">www.vslive.com/sf</a></p>
        <p>
Hope to see you there!
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=f900c4db-921f-4b7f-a6f5-f2b624be74ef" />
      </body>
      <title>Upcoming Talks at VSLive! San Francisco</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,f900c4db-921f-4b7f-a6f5-f2b624be74ef.aspx</guid>
      <link>http://briannoyes.net/2008/02/22/UpcomingTalksAtVSLiveSanFrancisco.aspx</link>
      <pubDate>Fri, 22 Feb 2008 23:06:03 GMT</pubDate>
      <description>&lt;p&gt;
I'll&amp;nbsp; be speaking at VSLive! San Francisco this year after quite a few years
since doing a VSLive! conference. I'm looking forward to it.
&lt;/p&gt;
&lt;p&gt;
The two talks I'll be giving are:
&lt;/p&gt;
&lt;p&gt;
Exploit WPF Graphics without Wounding the Eyes
&lt;/p&gt;
&lt;p&gt;
Build Composite UI Applications with CAB and SCSF
&lt;/p&gt;
&lt;p&gt;
If you haven’t already registered for VSLive San Francisco, you can receive a $695
discount on the Gold Passport if you register using priority code SPNOY. More at &lt;a href="http://www.vslive.com/sf"&gt;www.vslive.com/sf&lt;/a&gt; 
&lt;p&gt;
Hope to see you there!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=f900c4db-921f-4b7f-a6f5-f2b624be74ef" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,f900c4db-921f-4b7f-a6f5-f2b624be74ef.aspx</comments>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=cde7dda0-58b4-4549-a230-184b93afc551</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,cde7dda0-58b4-4549-a230-184b93afc551.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,cde7dda0-58b4-4549-a230-184b93afc551.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cde7dda0-58b4-4549-a230-184b93afc551</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I did another .NET Rocks! interview with Carl and Richard last week and it has gone
live. You can <a href="http://www.dotnetrocks.com/default.aspx?showNum=315">find it
here</a>. We discussed a lot of tangential aspects of WPF including adoption rates,
UI patterns, the WPF Composite (codename Prism) work I am doing with Microsoft patterns
and practices, and a lot more.
</p>
        <p>
Check it out if you have an hour to kill away from the keyboard.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=cde7dda0-58b4-4549-a230-184b93afc551" />
      </body>
      <title>.NET Rocks! - WPF Update</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,cde7dda0-58b4-4549-a230-184b93afc551.aspx</guid>
      <link>http://briannoyes.net/2008/02/14/NETRocksWPFUpdate.aspx</link>
      <pubDate>Thu, 14 Feb 2008 16:32:39 GMT</pubDate>
      <description>&lt;p&gt;
I did another .NET Rocks! interview with Carl and Richard last week and it has gone
live. You can &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=315"&gt;find it
here&lt;/a&gt;. We discussed a lot of tangential aspects of WPF including adoption rates,
UI patterns, the WPF Composite (codename Prism) work I am doing with Microsoft patterns
and practices, and a lot more.
&lt;/p&gt;
&lt;p&gt;
Check it out if you have an hour to kill away from the keyboard.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=cde7dda0-58b4-4549-a230-184b93afc551" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,cde7dda0-58b4-4549-a230-184b93afc551.aspx</comments>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=c50def7e-3ce6-4a74-a6b1-f2a97e201366</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,c50def7e-3ce6-4a74-a6b1-f2a97e201366.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,c50def7e-3ce6-4a74-a6b1-f2a97e201366.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c50def7e-3ce6-4a74-a6b1-f2a97e201366</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recorded a DNR TV episode back in December that took a little while to hit the site,
but is up now. This episode walks through the data binding features of WPF and shows
how to set up basic data binding, converters, work with data contexts and more.
</p>
        <p>
          <a title="http://www.dnrtv.com/default.aspx?showNum=101" href="http://www.dnrtv.com/default.aspx?showNum=101">http://www.dnrtv.com/default.aspx?showNum=101</a>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c50def7e-3ce6-4a74-a6b1-f2a97e201366" />
      </body>
      <title>Data Binding in WPF - .NET Rocks! TV</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,c50def7e-3ce6-4a74-a6b1-f2a97e201366.aspx</guid>
      <link>http://briannoyes.net/2008/02/07/DataBindingInWPFNETRocksTV.aspx</link>
      <pubDate>Thu, 07 Feb 2008 21:22:47 GMT</pubDate>
      <description>&lt;p&gt;
I recorded a DNR TV episode back in December that took a little while to hit the site,
but is up now. This episode walks through the data binding features of WPF and shows
how to set up basic data binding, converters, work with data contexts and more.
&lt;/p&gt;
&lt;p&gt;
&lt;a title=http://www.dnrtv.com/default.aspx?showNum=101 href="http://www.dnrtv.com/default.aspx?showNum=101"&gt;http://www.dnrtv.com/default.aspx?showNum=101&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c50def7e-3ce6-4a74-a6b1-f2a97e201366" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,c50def7e-3ce6-4a74-a6b1-f2a97e201366.aspx</comments>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=ba6d5462-5901-492b-84f2-0af3536419b4</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,ba6d5462-5901-492b-84f2-0af3536419b4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,ba6d5462-5901-492b-84f2-0af3536419b4.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=ba6d5462-5901-492b-84f2-0af3536419b4</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on WPF for ASP.NET developers this evening at the .NET SIG in Cleveland.
Good size crowd and great questions. It was a challenging talk because of trying to
cover all of WPF and Silverlight for ASP.NET developers and for those in the crowd
who were Windows Forms developers. 
</p>
        <p>
I covered the various deployment models of WPF including:
</p>
        <p>
- Windows Application
</p>
        <p>
- XAML Browser Application (XBAP)
</p>
        <p>
- Plain Old XAML Page (POXP?)
</p>
        <p>
- Silverlight App
</p>
        <p>
Whenever I present this stuff, the overwhelming reaction is: Stop giving us so many
choices!!! We can't figure out what to use when! 
</p>
        <p>
There is also often a desire for a conclusion to be drawn that one of these will be
the end state and all UI will be written in it. I just don't think that will be the
case. I think that maybe 5 years from now, if the tools come along a lot farther than
they are now, and if the control suite grows, the list of options could shorten to
just WPF Windows App, Silverlight App, and ASP.NET AJAX app. But I don't think it
will shrink beyond that. Windows Apps make sense when you control the desktop to take
maximum advantage of the client platform and give the best user experience. Silverlight
makes sense for broader reach while sticking to the same tools and programming models.
ASP.NET AJAX will be broader still and will address the platforms that Silverlight
can't reach, and will also (like Windows Forms) be more evolved for data over forms
apps for a while to come.
</p>
        <p>
Anyway, here are the slides and demos for those who are interested:
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/WPFforASP.NETDevelopers.pdf">Slides</a>    <a href="http://www.softinsight.com/downloads/WPFforASPNETDevsDemos.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=ba6d5462-5901-492b-84f2-0af3536419b4" />
      </body>
      <title>Slides and demos from Cleveland .NET SIG</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,ba6d5462-5901-492b-84f2-0af3536419b4.aspx</guid>
      <link>http://briannoyes.net/2007/06/13/SlidesAndDemosFromClevelandNETSIG.aspx</link>
      <pubDate>Wed, 13 Jun 2007 01:05:36 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on WPF for ASP.NET developers this evening at the .NET SIG in Cleveland.
Good size crowd and great questions. It was a challenging talk because of trying to
cover all of WPF and Silverlight for ASP.NET developers and for those in the crowd
who were Windows Forms developers. 
&lt;/p&gt;
&lt;p&gt;
I covered the various deployment models of WPF including:
&lt;/p&gt;
&lt;p&gt;
- Windows Application
&lt;/p&gt;
&lt;p&gt;
- XAML Browser Application (XBAP)
&lt;/p&gt;
&lt;p&gt;
- Plain Old XAML Page (POXP?)
&lt;/p&gt;
&lt;p&gt;
- Silverlight App
&lt;/p&gt;
&lt;p&gt;
Whenever I present this stuff, the overwhelming reaction is: Stop giving us so many
choices!!! We can't figure out what to use when! 
&lt;/p&gt;
&lt;p&gt;
There is also often a desire for a conclusion to be drawn that one of these will be
the end state and all UI will be written in it. I just don't think that will be the
case. I think that maybe 5 years from now, if the tools come along a lot farther than
they are now, and if the control suite grows, the list of options could shorten to
just WPF Windows App, Silverlight App, and ASP.NET AJAX app. But I don't think it
will shrink beyond that. Windows Apps make sense when you control the desktop to take
maximum advantage of the client platform and give the best user experience. Silverlight
makes sense for broader reach while sticking to the same tools and programming models.
ASP.NET AJAX will be broader still and will address the platforms that Silverlight
can't reach, and will also (like Windows Forms) be more evolved for data over forms
apps for a while to come.
&lt;/p&gt;
&lt;p&gt;
Anyway, here are the slides and demos for those who are interested:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/WPFforASP.NETDevelopers.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/WPFforASPNETDevsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=ba6d5462-5901-492b-84f2-0af3536419b4" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,ba6d5462-5901-492b-84f2-0af3536419b4.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=86567802-cb16-4697-8b77-8f4b99fe2f61</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,86567802-cb16-4697-8b77-8f4b99fe2f61.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,86567802-cb16-4697-8b77-8f4b99fe2f61.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=86567802-cb16-4697-8b77-8f4b99fe2f61</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've arrived in Orlando and am looking forward to giving my sessions tomorrow and
Wed in the Visual Studio connections track. I'll be presenting the following sessions:
</p>
        <p>
- WPF in Windows Forms and vice versa: This talk will cover the interop story for
containing WPF controls in Windows Forms applications and Windows Forms controls in
WPF applications. Quite a compelling story for migrating incrementally to WPF, but
not without its share of pain points.
</p>
        <p>
- Real World .NET 3.0 Smart Client Deployment: This is a modification of my Real World
ClickOnce talk, covering the key aspects of ClickOnce deployment but with a slant
towards the special considerations introduced by .NET 3.0 for security and WPF deployment
models.
</p>
        <p>
- Encapsulate Business Processes in Custom WF Activities: This talk covers how to
create custom simple and composite WF activities and all the many things you need
to take into consideration to make a robust, reusable activity.
</p>
        <p>
This year the conferences is at the World Center Marriott, a change from the Hyatt
Grand Regency of the last few years. Verdict is still out whether this is an improvement...
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=86567802-cb16-4697-8b77-8f4b99fe2f61" />
      </body>
      <title>DevConnections Orlando - a tale of three sessions</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,86567802-cb16-4697-8b77-8f4b99fe2f61.aspx</guid>
      <link>http://briannoyes.net/2007/03/26/DevConnectionsOrlandoATaleOfThreeSessions.aspx</link>
      <pubDate>Mon, 26 Mar 2007 22:43:18 GMT</pubDate>
      <description>&lt;p&gt;
I've arrived in Orlando and am looking forward to giving my sessions tomorrow and
Wed in the Visual Studio connections track. I'll be presenting the following sessions:
&lt;/p&gt;
&lt;p&gt;
- WPF in Windows Forms and vice versa: This talk will cover the interop story for
containing WPF controls in Windows Forms applications and Windows Forms controls in
WPF applications. Quite a compelling story for migrating incrementally to WPF, but
not without its share of pain points.
&lt;/p&gt;
&lt;p&gt;
- Real World .NET 3.0 Smart Client Deployment: This is a modification of my Real World
ClickOnce talk, covering the key aspects of ClickOnce deployment but with a slant
towards the special considerations introduced by .NET 3.0 for security and WPF deployment
models.
&lt;/p&gt;
&lt;p&gt;
- Encapsulate Business Processes in Custom WF Activities: This talk covers how to
create custom simple and composite WF activities and all the many things you need
to take into consideration to make a robust, reusable activity.
&lt;/p&gt;
&lt;p&gt;
This year the conferences is at the World Center Marriott, a change from the Hyatt
Grand Regency of the last few years. Verdict is still out whether this is an improvement...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=86567802-cb16-4697-8b77-8f4b99fe2f61" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,86567802-cb16-4697-8b77-8f4b99fe2f61.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>DevConnections</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=d0dc6bd9-ce84-450f-9240-a0aaf8eee86a</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,d0dc6bd9-ce84-450f-9240-a0aaf8eee86a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,d0dc6bd9-ce84-450f-9240-a0aaf8eee86a.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d0dc6bd9-ce84-450f-9240-a0aaf8eee86a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Wow, is this really my first blog post this year? The year has started off busy busy
busy.
</p>
        <p>
But enough about me... this is about you! YOU need to come to the NOVA Code Camp on
14 April! YOU need to volunteer to speak if you have some knowledge you are willing
to share with your fellow developers.
</p>
        <p>
I hope to see you there.
</p>
        <p>
Details: <span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><a href="http://novacodecamp.org/">http://novacodecamp.org/</a></span></p>
        <p>
          <span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">
          </span> 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=d0dc6bd9-ce84-450f-9240-a0aaf8eee86a" />
      </body>
      <title>NOVA / DC Area Code Camp</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,d0dc6bd9-ce84-450f-9240-a0aaf8eee86a.aspx</guid>
      <link>http://briannoyes.net/2007/02/17/NOVADCAreaCodeCamp.aspx</link>
      <pubDate>Sat, 17 Feb 2007 01:47:42 GMT</pubDate>
      <description>&lt;p&gt;
Wow, is this really my first blog post this year? The year has started off busy busy
busy.
&lt;/p&gt;
&lt;p&gt;
But enough about me... this is about you! YOU need to come to the NOVA Code Camp on
14 April! YOU need to volunteer to speak if you have some knowledge you are willing
to share with your fellow developers.
&lt;/p&gt;
&lt;p&gt;
I hope to see you there.
&lt;/p&gt;
&lt;p&gt;
Details: &lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;a href="http://novacodecamp.org/"&gt;http://novacodecamp.org/&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=d0dc6bd9-ce84-450f-9240-a0aaf8eee86a" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,d0dc6bd9-ce84-450f-9240-a0aaf8eee86a.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>Architecture</category>
      <category>Community</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=a0e9b379-5eab-4385-a4a0-069b28f39fa0</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,a0e9b379-5eab-4385-a4a0-069b28f39fa0.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,a0e9b379-5eab-4385-a4a0-069b28f39fa0.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a0e9b379-5eab-4385-a4a0-069b28f39fa0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Another great conference complete. Around 5000 showed up and we had great feedback
from the crowd that it was a good show. If you haven't been to connections before,
you really should check it out.
</p>
        <p>
I gave three talks this week. You can get the slides and demos for each below.
</p>
        <p>
Real World ClickOnce:  <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VDP301_RealWorldClickOnce.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/RealWorldClickOnceDemos.zip">Demos</a><br />
Workflow Driven Windows Applications:  <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VWX301_WorkflowDrivenWindowsApplications.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/WorkflowWindowsAppDemos.zip">Demos</a><br />
Implement a Data Layer with the VS 2005 DataSet Designer:  <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VDA302_ImplementDataLayerwithDataSetDesigner.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevConnections/DataSetDesignerDemos.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a0e9b379-5eab-4385-a4a0-069b28f39fa0" />
      </body>
      <title>DevConnections Vegas Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,a0e9b379-5eab-4385-a4a0-069b28f39fa0.aspx</guid>
      <link>http://briannoyes.net/2006/11/10/DevConnectionsVegasSlidesAndDemos.aspx</link>
      <pubDate>Fri, 10 Nov 2006 02:02:33 GMT</pubDate>
      <description>&lt;p&gt;
Another great conference complete. Around 5000 showed up and we had great feedback
from the crowd that it was a good show. If you haven't been to connections before,
you really should check it out.
&lt;/p&gt;
&lt;p&gt;
I gave three talks this week. You can get the slides and demos for each below.
&lt;/p&gt;
&lt;p&gt;
Real World ClickOnce:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VDP301_RealWorldClickOnce.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/RealWorldClickOnceDemos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Workflow Driven Windows Applications:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VWX301_WorkflowDrivenWindowsApplications.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/WorkflowWindowsAppDemos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Implement a Data Layer with the VS 2005 DataSet Designer:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/VDA302_ImplementDataLayerwithDataSetDesigner.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevConnections/DataSetDesignerDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a0e9b379-5eab-4385-a4a0-069b28f39fa0" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,a0e9b379-5eab-4385-a4a0-069b28f39fa0.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>Architecture</category>
      <category>ClickOnce</category>
      <category>Data Binding</category>
      <category>DevConnections</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=7c174f66-364c-4a4c-a077-7f760e59c29a</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,7c174f66-364c-4a4c-a077-7f760e59c29a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,7c174f66-364c-4a4c-a077-7f760e59c29a.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7c174f66-364c-4a4c-a077-7f760e59c29a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We (at IDesign (http://www.idesign.net)) are currently in the middle of a .NET 3.0
Roadshow (http://www.net3roadshow.com) across six cities in the U.S. 
</p>
        <p>
In the show, we cover a full day + 1 session of WCF, 2 sessions of WF, 1 session of
CardSpace, and 1 session of WPF. I am doing the WF and WPF sessions. 
</p>
        <p>
A common question that is coming up is why this weighted mix instead of a more even
spread of coverage? 
</p>
        <p>
It has nothing to do with the complexity of the topics. WF is equally as complex and
capable for what it is designed to address as WCF is for its purposes. WPF is also
very complex and capable. CardSpace has a much narrower focus than the others, but
has a fair amount of complexity surrounding it as well. 
</p>
        <p>
The mix we came up with has a number of reasons behind it, but one of the most important
factors was considering how many development organizations should be considering adoption
of each technology at this point in time. 
</p>
        <p>
WCF is a remote communications platform that is rock solid, easy to use for simple
scenarios, yet has a million knobs and dials that you can twiddle to address almost
any remote communications needs. My perspective on WCF is that if you are writing
any application from this day forward (even though WCF won't release until next month)
that needs to make remote calls, you should be using WCF and forget that .NET Remoting,
ASP.NET Web Services, and Enterprise Services exist. Obviously that has to be tempered
with your ability to get .NET 3.0 deployed to the target platforms. But unless there
is an unmovable roadblock to you doing that, it is worth your while to make the switch
to WCF as soon as possible. Every application of any significant scale has at least
a cross process hop to deal with somewhere in its architecture, and WCF works great
for addressing those simple scenarios as well as full enterprise scale SOA apps. So
I feel WCF should be adopted by most development organizations as soon as possible. 
</p>
        <p>
WF is an extremely capable platform for developing workflow driven processing in your
enterprise applications. It is very stable and ready for adoption by those who need
it. The only downside to WF is that because of some the capabilities that are built
in to WF to address enterprise requirements (persistence, tracking, and scheduling
to name a few), I don't think you can really say that simple scenarios are easy to
implement with WF. So it takes fairly complex enterprise application requirements
to justify the adoption of WF in your application. Additionally, not every application
out there really has workflows of any significance (there are a lot of pure CRUD apps
still out there). As a result, I think the number of development organizations that
should be adopting WF at this time is smaller by at least 1/2 than those who should
be looking at WCF. 
</p>
        <p>
WPF is a harder one to nail down, and my opinions are likely to incite some flames.
I think that there are a lot fewer development organizations that should be bothering
with WPF for the near future. The reason mainly has to do with productivity. Even
though the runtime bits for WPF will be part of the .NET 3.0 release, the development
tools for designing WPF UIs will not. Microsoft is hard at work on a WPF designer
for Visual Studio that will hopefully release sometime next year. Alongside that effort
is the Expression Suite that includes the Interactive Designer product for allowing
designers to put together WPF UIs that they can hand over to developers to complete
the hook up of the dynamic behaviors of the application from code. At this point in
time and for at least the next 6 months, those products will only be available in
a Beta form. 
</p>
        <p>
Even with the Visual Studio WPF designer, there is an awful lot missing at this point
when compared to the Windows Forms or ASP.NET designers for rapidly designing and
implementing UI applications. Even once they release next year, I suspect they will
still feel like a v 1.0 designer. Think about how the Windows Forms designer in VS
2002 compares with the VS 2005 designer. Night and day in terms of productivity and
producing good maintainable code. Hopefully the gap will not be that large. At the
current time, if you want to write WPF apps, you will mostly be banging out XAML markup
by hand (thankfully at least with some great intellisense assistance). The current
CTP of the Visual Studio Orcas WPF designer does at least work pretty well for visualizing
the result of your markup, but it is not really useful for doing a graphical drag/drop
layout of your form nor for getting things like data bindings, styles, and resources
hooked up. 
</p>
        <p>
You also have to consider how bad do you need/want what WPF offers. One of the biggest
draws of WPF is that it allows you to write UI applications that are more visually
compelling. In short, you could say WPF allows you to create eye-candy that you either
couldn't do before or that was orders of magnitude harder to do. What you have to
ask yourself is how bad you really need eye candy? If you are building consumer applications,
then definitely eye candy is important. The difference between someone buying/using
your app instead of your competitors is often a simple matter of whether they look
at it, get a glazed look in their eye, and say "Keewwlll....." But if you are building
internal enterprise business applications that show and manipulate data, do you really
need pulsating 3D bar charts? Maybe, but it is a lot harder to sell that as a "requirement"
than "I need my web server to be separated from my application server for security/scalability
reasons" (i.e. I need WCF). 
</p>
        <p>
Don't get me wrong - I would love to incorporate many WPF features into every Windows
app I build from today forward. Using things like styling and subtle opacity animations
can make any application look better and more intuitive. Once you have adopted WPF,
some of the other features of WPF such as the ability to use Style, Data, and Control
Templates is very powerful and will be a welcome new model compared to Windows Forms.
But the relative number of apps out there that really need embedded 3D modeling or
video I think you can say is considerably less than the number of applications that
need to do a cross process, machine, or network hop. 
</p>
        <p>
Compounding the problem is the fact that adopting WPF implies that you think you can
get .NET 3.0 deployed to all of your client desktop machines to support your application.
For an enterprise, that may be true if your organization is savvy about the benefits
of adopting new technology and not overly paranoid about the risks of deploying a
new version of the .NET Framework. For the open consumer market (yes, the primary
ones who would drive you to want to incorporate eye-candy), that is going to be a
much tougher nut to crack. For a back end server that you want to run WCF or WF on,
having the control to deploy .NET 3.0 to that machine should be a lot easier to satisfy. 
</p>
        <p>
So as a result of the current maturity of the tools (equating directly to productivity),
the relative importance of the completely new capabilities WPF provides compared to
Windows Forms or ASP.NET, and the ability to guarantee that .NET 3.0 is installed
on the client machine, I would say that a lot less people should be jumping on WPF
for the near term. Once we have a good, near production designer for WPF apps in Visual
Studio, my tune will change. Also, for those that really need some aspects of WPF
now, by all means go for it. But my primary strategy for most smart client apps at
this point would be to build it as a Windows Forms application to address the bulk
of your requirements (and complete them in a reasonable timeframe), and then incorporate
things like 3D, video, animations, etc. as needed using WPF controls embedded in the
Windows application through interop (WPF controls can be hosted in a Windows Forms
application and vice versa). 
</p>
        <p>
CardSpace's role in the mix is easier to address because it only really addresses
one set of requirements: authentication and identity management. It does it well and
provides a great new model for identity management that you should definitely be getting
familiar with and thinking about how to incorporate it into your applications. CardSpace
too faces some adoption challenges since it requires both a service or site that supports
CardSpace and a client that has IE 7 or a smart client app designed to work with CardSpace.
It definitely warranted coverage in the roadshow and Michele does an awesome session
on it. But it definitely did not warrant more than one session compared to overall
complexity and capabilities of the technology compared to WCF, WF, and WPF. 
</p>
        <p>
These were some of the considerations that drive the mix of sessions we are offering
in the roadshow. 
</p>
        <p>
I'd be very interested in some comments on other perspectives on WCF, WPF, or WF adoption. 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=7c174f66-364c-4a4c-a077-7f760e59c29a" />
      </body>
      <title>.NET 3.0 Adoption and the current relative importance of its pieces</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,7c174f66-364c-4a4c-a077-7f760e59c29a.aspx</guid>
      <link>http://briannoyes.net/2006/10/16/NET30AdoptionAndTheCurrentRelativeImportanceOfItsPieces.aspx</link>
      <pubDate>Mon, 16 Oct 2006 20:59:13 GMT</pubDate>
      <description>&lt;p&gt;
We (at IDesign (http://www.idesign.net)) are currently in the middle of a .NET 3.0
Roadshow (http://www.net3roadshow.com) across six cities in the U.S. 
&lt;/p&gt;
&lt;p&gt;
In the show, we cover a full day + 1 session of WCF, 2 sessions of WF, 1 session of
CardSpace, and 1 session of WPF. I am doing the WF and WPF sessions. 
&lt;/p&gt;
&lt;p&gt;
A common question that is coming up is why this weighted mix instead of a more even
spread of coverage? 
&lt;/p&gt;
&lt;p&gt;
It has nothing to do with the complexity of the topics. WF is equally as complex and
capable for what it is designed to address as WCF is for its purposes. WPF is also
very complex and capable. CardSpace has a much narrower focus than the others, but
has a fair amount of complexity surrounding it as well. 
&lt;/p&gt;
&lt;p&gt;
The mix we came up with has a number of reasons behind it, but one of the most important
factors was considering how many development organizations should be considering adoption
of each technology at this point in time. 
&lt;/p&gt;
&lt;p&gt;
WCF is a remote communications platform that is rock solid, easy to use for simple
scenarios, yet has a million knobs and dials that you can twiddle to address almost
any remote communications needs. My perspective on WCF is that if you are writing
any application from this day forward (even though WCF won't release until next month)
that needs to make remote calls, you should be using WCF and forget that .NET Remoting,
ASP.NET Web Services, and Enterprise Services exist. Obviously that has to be tempered
with your ability to get .NET 3.0 deployed to the target platforms. But unless there
is an unmovable roadblock to you doing that, it is worth your while to make the switch
to WCF as soon as possible. Every application of any significant scale has at least
a cross process hop to deal with somewhere in its architecture, and WCF works great
for addressing those simple scenarios as well as full enterprise scale SOA apps. So
I feel WCF should be adopted by most development organizations as soon as possible. 
&lt;/p&gt;
&lt;p&gt;
WF is an extremely capable platform for developing workflow driven processing in your
enterprise applications. It is very stable and ready for adoption by those who need
it. The only downside to WF is that because of some the capabilities that are built
in to WF to address enterprise requirements (persistence, tracking, and scheduling
to name a few), I don't think you can really say that simple scenarios are easy to
implement with WF. So it takes fairly complex enterprise application requirements
to justify the adoption of WF in your application. Additionally, not every application
out there really has workflows of any significance (there are a lot of pure CRUD apps
still out there). As a result, I think the number of development organizations that
should be adopting WF at this time is smaller by at least 1/2 than those who should
be looking at WCF. 
&lt;/p&gt;
&lt;p&gt;
WPF is a harder one to nail down, and my opinions are likely to incite some flames.
I think that there are a lot fewer development organizations that should be bothering
with WPF for the near future. The reason mainly has to do with productivity. Even
though the runtime bits for WPF will be part of the .NET 3.0 release, the development
tools for designing WPF UIs will not. Microsoft is hard at work on a WPF designer
for Visual Studio that will hopefully release sometime next year. Alongside that effort
is the Expression Suite that includes the Interactive Designer product for allowing
designers to put together WPF UIs that they can hand over to developers to complete
the hook up of the dynamic behaviors of the application from code. At this point in
time and for at least the next 6 months, those products will only be available in
a Beta form. 
&lt;/p&gt;
&lt;p&gt;
Even with the Visual Studio WPF designer, there is an awful lot missing at this point
when compared to the Windows Forms or ASP.NET designers for rapidly designing and
implementing UI applications. Even once they release next year, I suspect they will
still feel like a v 1.0 designer. Think about how the Windows Forms designer in VS
2002 compares with the VS 2005 designer. Night and day in terms of productivity and
producing good maintainable code. Hopefully the gap will not be that large. At the
current time, if you want to write WPF apps, you will mostly be banging out XAML markup
by hand (thankfully at least with some great intellisense assistance). The current
CTP of the Visual Studio Orcas WPF designer does at least work pretty well for visualizing
the result of your markup, but it is not really useful for doing a graphical drag/drop
layout of your form nor for getting things like data bindings, styles, and resources
hooked up. 
&lt;/p&gt;
&lt;p&gt;
You also have to consider how bad do you need/want what WPF offers. One of the biggest
draws of WPF is that it allows you to write UI applications that are more visually
compelling. In short, you could say WPF allows you to create eye-candy that you either
couldn't do before or that was orders of magnitude harder to do. What you have to
ask yourself is how bad you really need eye candy? If you are building consumer applications,
then definitely eye candy is important. The difference between someone buying/using
your app instead of your competitors is often a simple matter of whether they look
at it, get a glazed look in their eye, and say "Keewwlll....." But if you are building
internal enterprise business applications that show and manipulate data, do you really
need pulsating 3D bar charts? Maybe, but it is a lot harder to sell that as a "requirement"
than "I need my web server to be separated from my application server for security/scalability
reasons" (i.e. I need WCF). 
&lt;/p&gt;
&lt;p&gt;
Don't get me wrong - I would love to incorporate many WPF features into every Windows
app I build from today forward. Using things like styling and subtle opacity animations
can make any application look better and more intuitive. Once you have adopted WPF,
some of the other features of WPF such as the ability to use Style, Data, and Control
Templates is very powerful and will be a welcome new model compared to Windows Forms.
But the relative number of apps out there that really need embedded 3D modeling or
video I think you can say is considerably less than the number of applications that
need to do a cross process, machine, or network hop. 
&lt;/p&gt;
&lt;p&gt;
Compounding the problem is the fact that adopting WPF implies that you think you can
get .NET 3.0 deployed to all of your client desktop machines to support your application.
For an enterprise, that may be true if your organization is savvy about the benefits
of adopting new technology and not overly paranoid about the risks of deploying a
new version of the .NET Framework. For the open consumer market (yes, the primary
ones who would drive you to want to incorporate eye-candy), that is going to be a
much tougher nut to crack. For a back end server that you want to run WCF or WF on,
having the control to deploy .NET 3.0 to that machine should be a lot easier to satisfy. 
&lt;/p&gt;
&lt;p&gt;
So as a result of the current maturity of the tools (equating directly to productivity),
the relative importance of the completely new capabilities WPF provides compared to
Windows Forms or ASP.NET, and the ability to guarantee that .NET 3.0 is installed
on the client machine, I would say that a lot less people should be jumping on WPF
for the near term. Once we have a good, near production designer for WPF apps in Visual
Studio, my tune will change. Also, for those that really need some aspects of WPF
now, by all means go for it. But my primary strategy for most smart client apps at
this point would be to build it as a Windows Forms application to address the bulk
of your requirements (and complete them in a reasonable timeframe), and then incorporate
things like 3D, video, animations, etc. as needed using WPF controls embedded in the
Windows application through interop (WPF controls can be hosted in a Windows Forms
application and vice versa). 
&lt;/p&gt;
&lt;p&gt;
CardSpace's role in the mix is easier to address because it only really addresses
one set of requirements: authentication and identity management. It does it well and
provides a great new model for identity management that you should definitely be getting
familiar with and thinking about how to incorporate it into your applications. CardSpace
too faces some adoption challenges since it requires both a service or site that supports
CardSpace and a client that has IE 7 or a smart client app designed to work with CardSpace.
It definitely warranted coverage in the roadshow and Michele does an awesome session
on it. But it definitely did not warrant more than one session compared to overall
complexity and capabilities of the technology compared to WCF, WF, and WPF. 
&lt;/p&gt;
&lt;p&gt;
These were some of the considerations that drive the mix of sessions we are offering
in the roadshow. 
&lt;/p&gt;
&lt;p&gt;
I'd be very interested in some comments on other perspectives on WCF, WPF, or WF adoption. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=7c174f66-364c-4a4c-a077-7f760e59c29a" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,7c174f66-364c-4a4c-a077-7f760e59c29a.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>Community</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=72371a75-34ef-475a-bb9d-99f1025437ff</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,72371a75-34ef-475a-bb9d-99f1025437ff.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,72371a75-34ef-475a-bb9d-99f1025437ff.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=72371a75-34ef-475a-bb9d-99f1025437ff</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This week and next my colleagues Juval Lowy and Michele Leroux Bustamante (<a href="http://dasblonde.com">http://dasblonde.com</a>)
and I are conducting a two day seminar on .NET 3.0 development as a roadshow in 6
cities across the country (LA, San Jose, Chicago, DC, New York, and Boston). We have
completed LA and San Jose with great feedback from the crowd and are in the middle
of the Chicago show.
</p>
        <p>
You can grab the slides and demos for my WF and WPF sessions here:   Slides   
Demos<br /><a href="http://www.softinsight.com/downloads/NET30RoadShow/Slides.zip">http://www.softinsight.com/downloads/NET30RoadShow/Slides.zip</a><br /><a href="http://www.softinsight.com/downloads/NET30RoadShow/democode.zip">http://www.softinsight.com/downloads/NET30RoadShow/democode.zip</a></p>
        <p>
In the WPF talk, I demonstrated several apps others have written that do a good job
of displaying some of the awesome graphics capabilities of WPF. Those apps can be
found through the links below. I also mentioned a great document for getting up to
speed on WPF when you know Windows Forms 2.0 capabilities well. That link is below
as well.
</p>
        <p>
Enjoy!
</p>
        <p>
Cine.View: A WPF viewing application that exposes the NetFlix catalog and ordering
capabilities created by the thirteen23 company. They also have a great viewer for
Flickr.<br /><a href="http://www.thirteen23.com/">http://www.thirteen23.com/</a></p>
        <p>
New York Times Reader: A WPF content application that provides a rich browsing and
reading experience for the paper's news content online in a Windows application.<br /><a href="http://firstlook.nytimes.com">http://firstlook.nytimes.com</a><br />
 <br />
Karen Corby's Woodgrove Finance application: This is a WPF XAML Browser application
that provides rich visualization of stock market data in a multi-paned WPF app that
runs in the browser.<br /><a href="http://scorbs.com/">http://scorbs.com/</a></p>
        <p>
Keep an eye on <a href="http://wpf.netfx3.com">http://wpf.netfx3.com</a> for some
more upcoming samples that will wow your eyes.
</p>
        <p>
The WPF for Windows Developers document from Mark Boulter and Jessica Fosler can be
found on Jessica Fosler's blog:<br /><a href="http://blogs.msdn.com/jfoscoding/articles/765135.aspx">http://blogs.msdn.com/jfoscoding/articles/765135.aspx</a><br /></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=72371a75-34ef-475a-bb9d-99f1025437ff" />
      </body>
      <title>.NET 3.0 Roadshow Slides, Demos, and Links</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,72371a75-34ef-475a-bb9d-99f1025437ff.aspx</guid>
      <link>http://briannoyes.net/2006/10/13/NET30RoadshowSlidesDemosAndLinks.aspx</link>
      <pubDate>Fri, 13 Oct 2006 03:36:01 GMT</pubDate>
      <description>&lt;p&gt;
This week and next my colleagues Juval Lowy and Michele Leroux Bustamante (&lt;a href="http://dasblonde.com"&gt;http://dasblonde.com&lt;/a&gt;)
and I are conducting a two day seminar on .NET 3.0 development as a roadshow in 6
cities across the country (LA, San Jose, Chicago, DC, New York, and Boston). We have
completed LA and San Jose with great feedback from the crowd and are in the middle
of the Chicago show.
&lt;/p&gt;
&lt;p&gt;
You can grab the slides and demos for my WF and WPF sessions here:&amp;nbsp;&amp;nbsp; Slides&amp;nbsp;&amp;nbsp;&amp;nbsp;
Demos&lt;br&gt;
&lt;a href="http://www.softinsight.com/downloads/NET30RoadShow/Slides.zip"&gt;http://www.softinsight.com/downloads/NET30RoadShow/Slides.zip&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.softinsight.com/downloads/NET30RoadShow/democode.zip"&gt;http://www.softinsight.com/downloads/NET30RoadShow/democode.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In the WPF talk, I demonstrated several apps others have written that do a good job
of displaying some of the awesome graphics capabilities of WPF. Those apps can be
found through the links below. I also mentioned a great document for getting up to
speed on WPF when you know Windows Forms 2.0 capabilities well. That link is below
as well.
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;p&gt;
Cine.View: A WPF viewing application that exposes the NetFlix catalog and ordering
capabilities created by the thirteen23 company. They also have a great viewer for
Flickr.&lt;br&gt;
&lt;a href="http://www.thirteen23.com/"&gt;http://www.thirteen23.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
New York Times Reader: A WPF content application that provides a rich browsing and
reading experience for the paper's news content online in a Windows application.&lt;br&gt;
&lt;a href="http://firstlook.nytimes.com"&gt;http://firstlook.nytimes.com&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Karen Corby's Woodgrove Finance application: This is a WPF XAML Browser application
that provides rich visualization of stock market data in a multi-paned WPF app that
runs in the browser.&lt;br&gt;
&lt;a href="http://scorbs.com/"&gt;http://scorbs.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Keep an eye on &lt;a href="http://wpf.netfx3.com"&gt;http://wpf.netfx3.com&lt;/a&gt; for some
more upcoming samples that will wow your eyes.
&lt;/p&gt;
&lt;p&gt;
The WPF for Windows Developers document from Mark Boulter and Jessica Fosler can be
found on Jessica Fosler's blog:&lt;br&gt;
&lt;a href="http://blogs.msdn.com/jfoscoding/articles/765135.aspx"&gt;http://blogs.msdn.com/jfoscoding/articles/765135.aspx&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=72371a75-34ef-475a-bb9d-99f1025437ff" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,72371a75-34ef-475a-bb9d-99f1025437ff.aspx</comments>
      <category>.NET</category>
      <category>.NET 3.0</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <title>Understanding Windows Workflow Foundation (WF) and its complexities</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c.aspx</guid>
      <link>http://briannoyes.net/2006/08/16/UnderstandingWindowsWorkflowFoundationWFAndItsComplexities.aspx</link>
      <pubDate>Wed, 16 Aug 2006 20:57:57 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;I gave a talk at the Greensville
Spartanburg Developers Guild last night on Windows Workflow Foundation. The talk covers
the basics of WF, including the fact that WF is not basic at all, it has a lot of
complexities that have to be mastered to build real applications. There is a lot of
power there and it makes sense to use it for workflow oriented enterprise applications,
but this is not something you decide to adopt for a couple of conditionals and a loop
in your business processing layer.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;You can get the slides and demos
here:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/INETA/BuildProcessDrivenApplicationswithWF.pdf"&gt;Slides&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.softinsight.com/downloads/INETA/WFIntrodemos.zip"&gt;Demos&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;The more I work with WF, the more
comfortable I get with it, but also the more I become convinced that they need a WF-Lite
version. There are several key things I highlight in this talk that seem much more
complex than they need to be. I understand the reasoning of some of these things,
mostly tied to the fact that:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;font face="Times New Roman"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font color=#000000&gt;&lt;font size=3&gt;-&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font color=#000000 size=3&gt;WF
manages workflow scheduling and execution using threads from the thread pool&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;font face="Times New Roman"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font color=#000000&gt;&lt;font size=3&gt;-&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font color=#000000 size=3&gt;WF
supports dehydrating your workflow when it is idle, persisting it to a persistence
provider (SQL Server supported out of the box), and unloading it from memory&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;font face="Times New Roman"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font color=#000000&gt;&lt;font size=3&gt;-&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font color=#000000 size=3&gt;WF
supports logging tracking information to a persistent store to know what workflows/activities
are running when and what their state is.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;The thing is that not all systems
that could benefit from the abstracted design model of WF need these things. But by
having these things, it means that certain aspects, particularly communicating with
the executing workflow, are much harder than calling from one chunk of code to another
in a standard .NET application. If we had a WF-Lite that provided the design time
experience (with improvements… see below), but let the app control workflow instantiation
and synchronous execution, this technology could apply to even more applications than
it will in its current incarnation.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;Some of the things that I find people
have the hardest time groking are:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;1. Presentation of workflow constructs
as "Properties". A property is a first class construct of a type in .NET. It has a
very precise meaning, as compared to events and methods. In WF, there are a lot of
things that are exposed in the designer through the Properties window that are not
really properties. They are events or event handler methods that are in your workflow
or activities that you are hooking up. Event handlers should show up in the events
view to be consistent with other design experiences in VS, and because that is where
they belong. Instead, they show up in both the properties view and sometimes in the
events view and it makes it confusing as a coder what the heck the designer is creating
for you. WF is for developers, so speak the developers lingo dammit.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;2. Code Conditions - a bool is just
a bool. If you need to hook up an activity that depends on a condition (i.e. IfElse,
While, ConditionalActivityGroup, etc.), you should be able to define either a method
that returns a bool and point to it, or you should be able to define a bool property
and point to it. The model of having to have an event defined that takes a ConditionalEventArgs,
hooking up an event handler to that event, and then setting the event argument Result
property to true/false just leaves people going "Whahuhhhh????"&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;3. HandleExternalEvent/CallExternalMethod
- The number of things you have to do to conceptually just make a simple method call
from the host to the workflow or vice versa is just way too high. I like the fact
that the communications are based on interfaces. That part I like from a design perspective
– the workflow is sort of a layer unto itself and communicating through an interface
is a good way to enforce that separation. However, the number of steps you have to
go through to hook up host communication scenarios is just way too high. The calls
from the workflow into the host are not too bad, because those just get defined as
methods. But the extra steps for the events that provide calls into the workflow just
pushes it over the edge. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;If you are not familiar with this
model, the steps include:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Define an event argument type
to carry parameters (only needed because of the chosen event model - this should change
in my opinion) that derives from ExternalDataEventArgs&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Define an interface marked with
the ExternalDataExchange attribute&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Define an event on that interface
of the type EventHandler&amp;lt;T&amp;gt;, where T is your event argument type&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Hook up the interface and the
event to the HandleExternalEvent activity in your workflow that you want to be the
call point for the call from the host into the workflow&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Define a class in the host application
that implements the interface&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Have a way to fire the event in
that class when you want to call into the workflow (a trigger/fire method)&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Register the ExternalDataExchangeService
with the runtime when you start it up&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Register an instance of the class
that implements the interface with the ExternalDataExchangeService instance that you
registered with the runtime&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;- Finally, trigger the event from
the host application at the point where you want to call into the workflow&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;All of this amounts to what? A simple
method call with parameters into the workflow. This is where the attendees jaws usually
hit the floor.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;Am I wrong here? Isn't this a little
more complex than it needs to be for most apps?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,5e4dd2df-2d4b-4f03-a3ce-99c3c7b9202c.aspx</comments>
      <category>.NET</category>
      <category>Speaking</category>
      <category>.NET 3.0</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=a3578a93-a221-4fea-80fc-15432a7e91ae</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,a3578a93-a221-4fea-80fc-15432a7e91ae.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,a3578a93-a221-4fea-80fc-15432a7e91ae.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a3578a93-a221-4fea-80fc-15432a7e91ae</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you are looking to bootstrap your knowledge on .NET 3.0 (WCF, WF, WPF, and WCS
specifically), then a great opportunity is coming to a city near you (well, hopefully
reachable from where you are) in October. My colleagues and I from IDesign will
be presenting a .NET 3.0 Roadshow in conjunction with CMP media. This event will provide
a full day of WCF presented by Juval Lowy and the second day will be split between
WF, WPF, and WCF and will be presented by myself and Michele Leroux Bustamante.
</p>
        <p>
You can find more details and registration info here:
</p>
        <p>
          <a href="http://www.net3roadshow.com/">http://www.net3roadshow.com/</a>
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a3578a93-a221-4fea-80fc-15432a7e91ae" />
      </body>
      <title>Get Up To Speed on .NET 3.0</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,a3578a93-a221-4fea-80fc-15432a7e91ae.aspx</guid>
      <link>http://briannoyes.net/2006/07/27/GetUpToSpeedOnNET30.aspx</link>
      <pubDate>Thu, 27 Jul 2006 16:53:05 GMT</pubDate>
      <description>&lt;p&gt;
If you are looking to bootstrap your knowledge on .NET 3.0 (WCF, WF, WPF, and WCS
specifically), then a great opportunity is coming to a city near you (well, hopefully
reachable from where you are)&amp;nbsp;in October. My colleagues and I from IDesign will
be presenting a .NET 3.0 Roadshow in conjunction with CMP media. This event will provide
a full day of WCF presented by Juval Lowy and the second day will be split between
WF, WPF, and WCF and will be presented by myself and Michele Leroux Bustamante.
&lt;/p&gt;
&lt;p&gt;
You can find more details and registration info here:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.net3roadshow.com/"&gt;http://www.net3roadshow.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a3578a93-a221-4fea-80fc-15432a7e91ae" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,a3578a93-a221-4fea-80fc-15432a7e91ae.aspx</comments>
      <category>.NET</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here are the slides and demos from last week's webcast. Keep in mind that you will
need to add a Modified DateTime column and respective stored procedures to your database
to be able to run the code as it was demo'ed in the webcast. The demo code includes
my CodeSmith templates for generating those stored procedures and also one for making
the coumn modification scripts for you if you want to do it to all the tables in your
database that are transactional. There is also a SQL script just for doing the Employees
table in Northwind, which was all I used in the demos.
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataSetDesigner.pdf">Slides</a>
        </p>
        <p>
          <a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataSetDesignerDemos.zip">Demos</a>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06" />
      </body>
      <title>MSDN Webcast: Implement a Data Access Layer with the Visual Studio 2005 DataSet Designer slides and demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06.aspx</guid>
      <link>http://briannoyes.net/2006/07/14/MSDNWebcastImplementADataAccessLayerWithTheVisualStudio2005DataSetDesignerSlidesAndDemos.aspx</link>
      <pubDate>Fri, 14 Jul 2006 14:13:51 GMT</pubDate>
      <description>&lt;p&gt;
Here are the slides and demos from last week's webcast. Keep in mind that you will
need to add a Modified DateTime column and respective stored procedures to your database
to be able to run the code as it was demo'ed in the webcast. The demo code includes
my CodeSmith templates for generating those stored procedures and also one for making
the coumn modification scripts for you if you want to do it to all the tables in your
database that are transactional. There is also a SQL script just for doing the Employees
table in Northwind, which was all I used in the demos.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataSetDesigner.pdf"&gt;Slides&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataSetDesignerDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,6a4e9217-51cb-421d-9eb2-3e2cbd8d7e06.aspx</comments>
      <category>.NET</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=038d48d3-62d1-4b61-a0b9-6d58698d1cd5</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,038d48d3-62d1-4b61-a0b9-6d58698d1cd5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,038d48d3-62d1-4b61-a0b9-6d58698d1cd5.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=038d48d3-62d1-4b61-a0b9-6d58698d1cd5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For those who attended, or those who just want the materials, here are the slides
and demos from today's MSDN Webcast:
</p>
        <p>
Slides: <a href="http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataApplications_Jul06.pdf">http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataApplications_Jul06.pdf</a></p>
        <p>
Demos:<a href="http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataAppsDemos_Jul06.zip">http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataAppsDemos_Jul06.zip</a></p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=038d48d3-62d1-4b61-a0b9-6d58698d1cd5" />
      </body>
      <title>Slides and demos from MSDN Webcast: Build Smart Client Data Applications with Windows Forms 2.0</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,038d48d3-62d1-4b61-a0b9-6d58698d1cd5.aspx</guid>
      <link>http://briannoyes.net/2006/07/07/SlidesAndDemosFromMSDNWebcastBuildSmartClientDataApplicationsWithWindowsForms20.aspx</link>
      <pubDate>Fri, 07 Jul 2006 17:31:57 GMT</pubDate>
      <description>&lt;p&gt;
For those who attended, or those who just want the materials, here are the slides
and demos from today's MSDN Webcast:
&lt;/p&gt;
&lt;p&gt;
Slides: &lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataApplications_Jul06.pdf"&gt;http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataApplications_Jul06.pdf&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Demos:&lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataAppsDemos_Jul06.zip"&gt;http://www.softinsight.com/downloads/MSDNWebcasts/SmartClientDataAppsDemos_Jul06.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=038d48d3-62d1-4b61-a0b9-6d58698d1cd5" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,038d48d3-62d1-4b61-a0b9-6d58698d1cd5.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=a27bfd17-14e0-4951-b00f-6eba4a50d894</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,a27bfd17-14e0-4951-b00f-6eba4a50d894.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,a27bfd17-14e0-4951-b00f-6eba4a50d894.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a27bfd17-14e0-4951-b00f-6eba4a50d894</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For my students in Linkoping Sweden this week, thanks for attending!
</p>
        <p>
Here are the demos and labs: <a href="http://www.softinsight.com/downloads/Classes/linsoft_June_06.zip">Download
Here</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a27bfd17-14e0-4951-b00f-6eba4a50d894" />
      </body>
      <title>Linsoft Class demos and labs</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,a27bfd17-14e0-4951-b00f-6eba4a50d894.aspx</guid>
      <link>http://briannoyes.net/2006/06/30/LinsoftClassDemosAndLabs.aspx</link>
      <pubDate>Fri, 30 Jun 2006 13:55:09 GMT</pubDate>
      <description>&lt;p&gt;
For my students in Linkoping Sweden this week, thanks for attending!
&lt;/p&gt;
&lt;p&gt;
Here are the demos and labs: &lt;a href="http://www.softinsight.com/downloads/Classes/linsoft_June_06.zip"&gt;Download
Here&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=a27bfd17-14e0-4951-b00f-6eba4a50d894" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,a27bfd17-14e0-4951-b00f-6eba4a50d894.aspx</comments>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=c34df3c8-8129-4b24-ab89-890fa9540603</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,c34df3c8-8129-4b24-ab89-890fa9540603.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,c34df3c8-8129-4b24-ab89-890fa9540603.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c34df3c8-8129-4b24-ab89-890fa9540603</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It was a crazy week at TechEd last week. So crazy, no time to write or consume blogs.
I gave two breakout sessions (Real World ClickOnce and Windows Forms: Build Enterprise
Ready Forms Applications) and a Birds of Feather session (Windows Workflow Foundation).
</p>
        <p>
You can get the slides and demos from the sessions here:
</p>
        <p>
Real World ClickOnce:  <a href="http://www.softinsight.com/downloads/Conferences/TechEd06/DEV318__RealWorldClickOnce.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/TechEd06/RealWorldClickOnceDemos.zip">Demos</a></p>
        <p>
Windows Forms: Build Enterprise Ready Forms Applications:  <a href="http://www.softinsight.com/downloads/Conferences/TechEd06/DEV332__BuildEnterpriseReadyFormsApps.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/TechEd06/EnterpriseFormsApplicationsDemos.zip">Demos</a></p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c34df3c8-8129-4b24-ab89-890fa9540603" />
      </body>
      <title>Another TechEd Complete - Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,c34df3c8-8129-4b24-ab89-890fa9540603.aspx</guid>
      <link>http://briannoyes.net/2006/06/19/AnotherTechEdCompleteSlidesAndDemos.aspx</link>
      <pubDate>Mon, 19 Jun 2006 13:27:37 GMT</pubDate>
      <description>&lt;p&gt;
It was a crazy week at TechEd last week. So crazy, no time to write or consume blogs.
I gave two breakout sessions (Real World ClickOnce and Windows Forms: Build Enterprise
Ready Forms Applications) and a Birds of Feather session (Windows Workflow Foundation).
&lt;/p&gt;
&lt;p&gt;
You can get the slides and demos from the sessions here:
&lt;/p&gt;
&lt;p&gt;
Real World ClickOnce:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/TechEd06/DEV318__RealWorldClickOnce.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/TechEd06/RealWorldClickOnceDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Windows Forms: Build Enterprise Ready Forms Applications:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/TechEd06/DEV332__BuildEnterpriseReadyFormsApps.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/TechEd06/EnterpriseFormsApplicationsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c34df3c8-8129-4b24-ab89-890fa9540603" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,c34df3c8-8129-4b24-ab89-890fa9540603.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=c83e681f-9c1a-46ce-99f1-1c91ed9e7784</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,c83e681f-9c1a-46ce-99f1-1c91ed9e7784.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,c83e681f-9c1a-46ce-99f1-1c91ed9e7784.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c83e681f-9c1a-46ce-99f1-1c91ed9e7784</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For the students from my 3 day WCF course and 2 Day WF course this week, or for anyone
else who wants the code with out the supporting delivery, here you go.
</p>
        <p>
For those who attended, it was good working with you this week!
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/Classes/WCF3DayCourseMaterials.zip">WCF
Course Demos and Lab Code</a>
        </p>
        <p>
          <a href="http://www.softinsight.com/downloads/Classes/WF2DayCourseMaterials.zip">WF
Course Demos and Lab Code</a>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c83e681f-9c1a-46ce-99f1-1c91ed9e7784" />
      </body>
      <title>WCF and WF Course Materials</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,c83e681f-9c1a-46ce-99f1-1c91ed9e7784.aspx</guid>
      <link>http://briannoyes.net/2006/06/09/WCFAndWFCourseMaterials.aspx</link>
      <pubDate>Fri, 09 Jun 2006 21:57:19 GMT</pubDate>
      <description>&lt;p&gt;
For the students from my 3 day WCF course and 2 Day WF course this week, or for anyone
else who wants the code with out the supporting delivery, here you go.
&lt;/p&gt;
&lt;p&gt;
For those who attended, it was good working with you this week!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/Classes/WCF3DayCourseMaterials.zip"&gt;WCF
Course Demos and Lab Code&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/Classes/WF2DayCourseMaterials.zip"&gt;WF
Course Demos and Lab Code&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=c83e681f-9c1a-46ce-99f1-1c91ed9e7784" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,c83e681f-9c1a-46ce-99f1-1c91ed9e7784.aspx</comments>
      <category>.NET</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=defe9d7b-97a6-4afc-8c3c-f51b537b5a21</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,defe9d7b-97a6-4afc-8c3c-f51b537b5a21.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,defe9d7b-97a6-4afc-8c3c-f51b537b5a21.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=defe9d7b-97a6-4afc-8c3c-f51b537b5a21</wfw:commentRss>
      <title>Mid-Atlantic Code Camp - Schedule Up and Volunteers Needed!</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,defe9d7b-97a6-4afc-8c3c-f51b537b5a21.aspx</guid>
      <link>http://briannoyes.net/2006/05/27/MidAtlanticCodeCampScheduleUpAndVolunteersNeeded.aspx</link>
      <pubDate>Sat, 27 May 2006 13:25:39 GMT</pubDate>
      <description>&lt;p&gt;
The schedule for our upcoming DC area / Mid-Atlantic Region code camp on 10 June in
Reston VA is up:
&lt;/p&gt;
&lt;p&gt;
&lt;a title=http://www.madcodecamp.com/schedule/codecampmain.htm href="http://www.madcodecamp.com/schedule/codecampmain.htm"&gt;&lt;font face=Arial&gt;http://www.madcodecamp.com/schedule/codecampmain.htm&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The event is being held at the Microsoft Technology Center at:
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&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;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Microsoft
Technology Center&lt;br&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;
&lt;st1:Street w:st="on"&gt;
&lt;st1:address w:st="on"&gt;12012 Sunset Hills Rd&lt;br&gt;
&lt;/st1:address&gt;
&lt;/st1:Street&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Reston&lt;/span&gt;&lt;/font&gt;
&lt;/st1:City&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;, 
&lt;st1:State w:st="on"&gt;VA&lt;/st1:State&gt;
&lt;st1:PostalCode w:st="on"&gt;20190&lt;/st1:PostalCode&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/st1:place&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;You can
find directions at:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;a title=http://www.microsoft.com/mscorp/info/usaoffices/midatlantic/mtc_reston.mspx href="http://www.microsoft.com/mscorp/info/usaoffices/midatlantic/mtc_reston.mspx"&gt;http://www.microsoft.com/mscorp/info/usaoffices/midatlantic/mtc_reston.mspx&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;We are currently filled up on registration, but are taking waitlist people to fill in for no-shows. &lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;If you are planning on attending and would be willing to volunteer to help out, please send me a note at brian.noyes(AT)idesign.net. (Change the (AT) to @)&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;We need volunteers for:&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;Registration - Help check people in off the registration lists.&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;Room monitors: All this means is you sit in on a session and make sure that if the speaker needs any help, you can help go and find someone so the speaker doesn't leave the room. You will also prompt the speaker when there is 15 minutes remaining and at completion time so that we can stay on schedule.&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal&gt;
&lt;font face=Arial size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;o:p&gt;Food/drink - Just need a couple of folks to hang out in the food area for the morning break and at lunch to help out if anything is needed.&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=defe9d7b-97a6-4afc-8c3c-f51b537b5a21" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,defe9d7b-97a6-4afc-8c3c-f51b537b5a21.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=3210b58c-0bec-42cf-ac73-7cc6e5c8a229</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,3210b58c-0bec-42cf-ac73-7cc6e5c8a229.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,3210b58c-0bec-42cf-ac73-7cc6e5c8a229.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3210b58c-0bec-42cf-ac73-7cc6e5c8a229</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave four talks at the Software Developers Conference in Netherlands this week.
This is a very fun and interesting conference that is put on by a large user group
organization called Software Developers Network, run by Remi Caron and Joop Pecht.
</p>
        <p>
This conference is one of the most enjoyable conferences I get to do anywhere in the
world. It is amazing how professional and well run this conference is, especially
when you consider that it is being put on by a user group organization and it is better
run than many U.S. conferences put on by companies that are supposed to specialize
in this kind of event. All of the user group members that run the conference are volunteers,
and yet the quality and professionalism that comes out of that is outstanding.
</p>
        <p>
The attendees are hard core, ask great questions, and make the event fun for the speakers
as well. For those of you who attended and find your way to this post for the slides
and demos - thanks! 
</p>
        <p>
You can grab the slides and demos here:
</p>
        <p>
Build Smart Client Data Apps with Windows Forms 2.0:  <a href="http://www.softinsight.com/downloads/Conferences/SDC06/BuildSmartClientDataApplicationswithWindowsForms2.0.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/SDC06/SmartClientDataAppsDemos.zip">Demos</a><br />
Build Custom Data Bound Objects and Collections:  <a href="http://www.softinsight.com/downloads/Conferences/SDC06/BuildCustomDataBoundBusinessObjectsandCollections.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/SDC06/CustomBoundObjectsDemos.zip">Demos</a><br />
Present Rich Tabular Data with the DataGridView Control:  <a href="http://www.softinsight.com/downloads/Conferences/SDC06/PresentRichDataInterfaceswiththeDataGridViewControl.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/SDC06/DataGRidViewDemos.zip">Demos</a><br />
Drive Application Behavior with Application and User Settings:  <a href="http://www.softinsight.com/downloads/Conferences/SDC06/DriveApplicationBehaviorwithApplicationandUserConfigurationSettings.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/SDC06/ApplicationAndUserSettingsDemos.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=3210b58c-0bec-42cf-ac73-7cc6e5c8a229" />
      </body>
      <title>Slides and Demos from SDC Netherlands</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,3210b58c-0bec-42cf-ac73-7cc6e5c8a229.aspx</guid>
      <link>http://briannoyes.net/2006/05/20/SlidesAndDemosFromSDCNetherlands.aspx</link>
      <pubDate>Sat, 20 May 2006 13:35:03 GMT</pubDate>
      <description>&lt;p&gt;
I gave four talks at the Software Developers Conference in Netherlands this week.
This is a very fun and interesting conference that is put on by a large user group
organization called Software Developers Network, run by Remi Caron and Joop Pecht.
&lt;/p&gt;
&lt;p&gt;
This conference is one of the most enjoyable conferences I get to do anywhere in the
world. It is amazing how professional and well run this conference is, especially
when you consider that it is being put on by a user group organization and it is better
run than many U.S. conferences put on by companies that are supposed to specialize
in this kind of event. All of the user group members that run the conference are volunteers,
and yet the quality and professionalism that comes out of that is outstanding.
&lt;/p&gt;
&lt;p&gt;
The attendees are hard core, ask great questions, and make the event fun for the speakers
as well. For those of you who attended and find your way to this post for the slides
and demos - thanks! 
&lt;/p&gt;
&lt;p&gt;
You can grab the slides and demos here:
&lt;/p&gt;
&lt;p&gt;
Build Smart Client Data Apps with Windows Forms 2.0:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/BuildSmartClientDataApplicationswithWindowsForms2.0.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/SmartClientDataAppsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Build Custom Data Bound Objects and Collections:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/BuildCustomDataBoundBusinessObjectsandCollections.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/CustomBoundObjectsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Present Rich Tabular Data with the DataGridView Control:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/PresentRichDataInterfaceswiththeDataGridViewControl.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/DataGRidViewDemos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Drive Application Behavior with Application and User Settings:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/DriveApplicationBehaviorwithApplicationandUserConfigurationSettings.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/SDC06/ApplicationAndUserSettingsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=3210b58c-0bec-42cf-ac73-7cc6e5c8a229" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,3210b58c-0bec-42cf-ac73-7cc6e5c8a229.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=805946c3-ae07-49e2-8ae9-e85ac67ecfb5</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,805946c3-ae07-49e2-8ae9-e85ac67ecfb5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,805946c3-ae07-49e2-8ae9-e85ac67ecfb5.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=805946c3-ae07-49e2-8ae9-e85ac67ecfb5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I spoke at DevTeach  in Montreal Tue-Thu of this week and had a great time as
always. If you haven't checked out this conference, you should plan on signing up
next year. Great location, great speakers, very well done conference with lots of
hard core sessions.
</p>
        <p>
If you attended one of my sessions and want to get the slides and demos, here you
go:
</p>
        <p>
NET371 - Drive App Behavior with Application and User Settings:  <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET371_AppAndUserSettings.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET371_AppAndUserSettingsDemos.zip">Demos</a></p>
        <p>
NET391 - Custom Bound Objects and Collections:  <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET391_CustomBoundObjects.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET391_CustomBoundObjectsDemos.zip">Demos</a></p>
        <p>
NET463 - Advanced ClickOnce:  <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET463_AdvancedClickOnce.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET463_AdvancedClickOnceDemos.zip">Demos</a></p>
        <p>
MusicLibrary Database Creation Script:   <a href="http://www.softinsight.com/downloads/Conferences/DevTeach/MusicLibrary.sql">Script</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=805946c3-ae07-49e2-8ae9-e85ac67ecfb5" />
      </body>
      <title>DevTeach Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,805946c3-ae07-49e2-8ae9-e85ac67ecfb5.aspx</guid>
      <link>http://briannoyes.net/2006/05/13/DevTeachSlidesAndDemos.aspx</link>
      <pubDate>Sat, 13 May 2006 17:09:02 GMT</pubDate>
      <description>&lt;p&gt;
I spoke at DevTeach&amp;nbsp; in Montreal Tue-Thu of this week and had a great time as
always. If you haven't checked out this conference, you should plan on signing up
next year. Great location, great speakers, very well done conference with lots of
hard core sessions.
&lt;/p&gt;
&lt;p&gt;
If you attended one of my sessions and want to get the slides and demos, here you
go:
&lt;/p&gt;
&lt;p&gt;
NET371 - Drive App Behavior with Application and User Settings:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET371_AppAndUserSettings.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET371_AppAndUserSettingsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
NET391 - Custom Bound Objects and Collections:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET391_CustomBoundObjects.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET391_CustomBoundObjectsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
NET463 - Advanced ClickOnce:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET463_AdvancedClickOnce.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/NET463_AdvancedClickOnceDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
MusicLibrary Database Creation Script:&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/Conferences/DevTeach/MusicLibrary.sql"&gt;Script&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=805946c3-ae07-49e2-8ae9-e85ac67ecfb5" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,805946c3-ae07-49e2-8ae9-e85ac67ecfb5.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=bf3548bc-8465-4f10-8f99-dcf37e54957a</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,bf3548bc-8465-4f10-8f99-dcf37e54957a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,bf3548bc-8465-4f10-8f99-dcf37e54957a.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bf3548bc-8465-4f10-8f99-dcf37e54957a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Make sure you sign up and come to the DC Code Camp in Reston VA on 10 June. You can
find all the details at <a href="http://www.madcodecamp.com">http://www.madcodecamp.com</a>.
We have a great line up of speakers with 4 concurrent tracks to pick from. Details
will be out soon on the session schedules.
</p>
        <p>
It's free!! You can't beat that price!
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=bf3548bc-8465-4f10-8f99-dcf37e54957a" />
      </body>
      <title>DC Code Camp - June 10 - Seats still available!</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,bf3548bc-8465-4f10-8f99-dcf37e54957a.aspx</guid>
      <link>http://briannoyes.net/2006/05/13/DCCodeCampJune10SeatsStillAvailable.aspx</link>
      <pubDate>Sat, 13 May 2006 16:58:17 GMT</pubDate>
      <description>&lt;p&gt;
Make sure you sign up and come to the DC Code Camp in Reston VA on 10 June. You can
find all the details at &lt;a href="http://www.madcodecamp.com"&gt;http://www.madcodecamp.com&lt;/a&gt;.
We have a great line up of speakers with 4 concurrent tracks to pick from. Details
will be out soon on the session schedules.
&lt;/p&gt;
&lt;p&gt;
It's free!! You can't beat that price!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=bf3548bc-8465-4f10-8f99-dcf37e54957a" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,bf3548bc-8465-4f10-8f99-dcf37e54957a.aspx</comments>
      <category>Community</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=1940053e-6292-4b56-82ef-c2f45f1455c2</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,1940053e-6292-4b56-82ef-c2f45f1455c2.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,1940053e-6292-4b56-82ef-c2f45f1455c2.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=1940053e-6292-4b56-82ef-c2f45f1455c2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I taught a public Advanced .NET Master Class in Reston VA last week. Had a great
time, great bunch of students. One of the things that makes teaching the most fun
is answering questions, and this was a lively group with the questions. Thanks to
all of the students who attended.
</p>
        <p>
A lot of the demos that I give during class are part of the downloads available on
our site at <a href="http://www.idesign.net">http://www.idesign.net</a>. If you want
the live demos that I did on the fly, you can download them here:
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/Classes/LiveClassDemos_DCAdvMasterClass_May2006.zip">Live
Demos</a>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=1940053e-6292-4b56-82ef-c2f45f1455c2" />
      </body>
      <title>DC Advanced Master Class</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,1940053e-6292-4b56-82ef-c2f45f1455c2.aspx</guid>
      <link>http://briannoyes.net/2006/05/08/DCAdvancedMasterClass.aspx</link>
      <pubDate>Mon, 08 May 2006 13:43:41 GMT</pubDate>
      <description>&lt;p&gt;
I taught a public&amp;nbsp;Advanced .NET Master Class in Reston VA last week. Had a great
time, great bunch of students. One of the things that makes teaching the most fun
is answering questions, and this was a lively group with the questions. Thanks to
all of the students who attended.
&lt;/p&gt;
&lt;p&gt;
A lot of the demos that I give during class are part of the downloads available on
our site at &lt;a href="http://www.idesign.net"&gt;http://www.idesign.net&lt;/a&gt;. If you want
the live demos that I did on the fly, you can download them here:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/Classes/LiveClassDemos_DCAdvMasterClass_May2006.zip"&gt;Live
Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=1940053e-6292-4b56-82ef-c2f45f1455c2" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,1940053e-6292-4b56-82ef-c2f45f1455c2.aspx</comments>
      <category>.NET</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We will be running a Code Camp at the Microsoft Reston training center on 10 June
all day. This is a great FREE event with great speakers teaching you hard core topics
on .NET coding. We are looking for speakers, so if you are interested in sharing your
knowledge with the local community, you can find the <a href="http://blogs.msdn.com/gduthie/archive/2006/04/19/579440.aspx">call
for speakers here as well as registration information </a>if you just want to attend
and soak up knowledge. 
</p>
        <p>
Come on out and participate in the DC area developer community!
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f" />
      </body>
      <title>Mid-Atlantic Code Camp time again! - 10 June</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f.aspx</guid>
      <link>http://briannoyes.net/2006/04/25/MidAtlanticCodeCampTimeAgain10June.aspx</link>
      <pubDate>Tue, 25 Apr 2006 09:01:56 GMT</pubDate>
      <description>&lt;p&gt;
We will be running a Code Camp at the Microsoft Reston training center on 10 June
all day. This is a great FREE event with great speakers teaching you hard core topics
on .NET coding. We are looking for speakers, so if you are interested in sharing your
knowledge with the local community, you can find the &lt;a href="http://blogs.msdn.com/gduthie/archive/2006/04/19/579440.aspx"&gt;call
for speakers here as well as registration information &lt;/a&gt;if you just want to attend
and soak up knowledge. 
&lt;/p&gt;
&lt;p&gt;
Come on out and participate in the DC area developer community!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,3b09b2e1-dab1-4e9d-9c73-4d2bc1567c2f.aspx</comments>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=9a313063-56d6-417b-bb27-8c23404a10fa</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,9a313063-56d6-417b-bb27-8c23404a10fa.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,9a313063-56d6-417b-bb27-8c23404a10fa.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9a313063-56d6-417b-bb27-8c23404a10fa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I presented four sessions at DevConnections last week and have been a little remiss
on getting the slides and demos posted, but here they are:
</p>
        <p>
Secure ClickOnce Deployments:  <a href="http://www.softinsight.com/downloads/DevConnections/VSC302_SecureSmartClientClickOnceDeployments.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/DevConnections/VSC302-SecureClickOnceDemos.zip">Demos</a></p>
        <p>
Connecting Smart Clients with WCF: <a href="http://www.softinsight.com/downloads/DevConnections/VWF302_SmartClientConnectivitywithWCF.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/DevConnections/VFW302-ConnectingSmartClientsWCFDemos.zip">Demos</a></p>
        <p>
Drive Application Behavior with User and Application Settings:  <a href="http://www.softinsight.com/downloads/DevConnections/VAC301-DriveApplicationBehaviorwithApplicationandUserConfigurationSettings.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/DevConnections/VAC301-SettingsDemos.zip">Demos</a></p>
        <p>
Build a Data Access Layer with Enterprise Library Data Access Block:  <a href="http://www.softinsight.com/downloads/DevConnections/APP301-ImplementaDataAccessLayerwithEntLib.pdf">Slides</a>  <a href="http://www.softinsight.com/downloads/DevConnections/App301-DAABDemos.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9a313063-56d6-417b-bb27-8c23404a10fa" />
      </body>
      <title>Slides and Demos from DevConnections Last Week</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,9a313063-56d6-417b-bb27-8c23404a10fa.aspx</guid>
      <link>http://briannoyes.net/2006/04/11/SlidesAndDemosFromDevConnectionsLastWeek.aspx</link>
      <pubDate>Tue, 11 Apr 2006 14:26:41 GMT</pubDate>
      <description>&lt;p&gt;
I presented four sessions at DevConnections last week and have been a little remiss
on getting the slides and demos posted, but here they are:
&lt;/p&gt;
&lt;p&gt;
Secure ClickOnce Deployments:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/VSC302_SecureSmartClientClickOnceDeployments.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/VSC302-SecureClickOnceDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Connecting Smart Clients with WCF: &lt;a href="http://www.softinsight.com/downloads/DevConnections/VWF302_SmartClientConnectivitywithWCF.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/VFW302-ConnectingSmartClientsWCFDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Drive Application Behavior with User and Application Settings:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/VAC301-DriveApplicationBehaviorwithApplicationandUserConfigurationSettings.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/VAC301-SettingsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Build a Data Access Layer with Enterprise Library Data Access Block:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/APP301-ImplementaDataAccessLayerwithEntLib.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/App301-DAABDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9a313063-56d6-417b-bb27-8c23404a10fa" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,9a313063-56d6-417b-bb27-8c23404a10fa.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>DevConnections</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=ec7ef166-caf7-481f-b32c-c1ad983225e8</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,ec7ef166-caf7-481f-b32c-c1ad983225e8.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,ec7ef166-caf7-481f-b32c-c1ad983225e8.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=ec7ef166-caf7-481f-b32c-c1ad983225e8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on Data Binding with Windows Forms 2.0 at the San Diego .NET Developers
Group on Tuesday 7 Mar. 
</p>
        <p>
Here are the slides and demos:  <a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0_Feb06.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/INETA/DataBindingWithWindowsFormsDemos_Mar06.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=ec7ef166-caf7-481f-b32c-c1ad983225e8" />
      </body>
      <title>Data Binding Talk in San Diego - Slides and Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,ec7ef166-caf7-481f-b32c-c1ad983225e8.aspx</guid>
      <link>http://briannoyes.net/2006/03/13/DataBindingTalkInSanDiegoSlidesAndDemos.aspx</link>
      <pubDate>Mon, 13 Mar 2006 06:30:14 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on Data Binding with Windows Forms 2.0 at the San Diego .NET Developers
Group on Tuesday 7 Mar. 
&lt;/p&gt;
&lt;p&gt;
Here are the slides and demos:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0_Feb06.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/DataBindingWithWindowsFormsDemos_Mar06.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=ec7ef166-caf7-481f-b32c-c1ad983225e8" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,ec7ef166-caf7-481f-b32c-c1ad983225e8.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=51b0482d-e598-426a-8047-948950af8b8e</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,51b0482d-e598-426a-8047-948950af8b8e.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,51b0482d-e598-426a-8047-948950af8b8e.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=51b0482d-e598-426a-8047-948950af8b8e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on Connecting Smart Clients at the Microsoft Integration and Connected
Systems User Group (MICSUG) last night. I discussed and demoed the basics of using
Windows Communication Foundation (WCF) to connect applications, using the newly released
Feb CTP.
</p>
        <p>
You can get the slides and demos here:  <a href="http://www.softinsight.com/downloads/INETA/ConnectSmartClientsWithWCF_Feb06.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/INETA/ConnectingSmartClientsWithWCFDemos_Feb06.zip">Demos</a></p>
        <p>
In jumping through the hoops yesterday to get my demos running on the Feb CTP, there
were a number of changes that I had to get used to compared to previous builds.
</p>
        <p>
The biggest is that if you run svcutil against a service that uses wsHttpBinding to
generate a proxy, you get a proxy service contract that uses custom message contracts
to wrap the parameters and return values from each operation contract. XXXRequest
and XXXResponse classes are defined in the proxy file for each operation, along with
an XXXBody class that actually contains the raw parameter/DataContract types. 
</p>
        <p>
If you program against the service contract interface like so:
</p>
        <p>
IAccountsManager mgrProxy = new AccountsManagerProxy();
</p>
        <p>
You will have to create the XXXRequest message contract types to wrap all the
parameters you pass into the methods, and unwrap any return values from the XXXResponse
types. However, they also expose a public method on the proxy class directly that
encapsulates these details so that you can deal directly with the underlying parameters
and return values. 
</p>
        <p>
So instead of calling IAccountsManager.GetAllAccounts for example, you will have an
easier time calling AccountsManagerProxy.GetAllAccounts.
</p>
        <p>
This is true for wsHttpBinding because of the message level security involved in the
default binding. If you use basicHttpBinding, or turn down the security on the wsHttpBinding,
then you will get more straightforward service contract interface definitions on the
client side proxy.
</p>
        <p>
The resulting proxy and service contract look like the following:
</p>
        <font size="4">
          <p>
          </p>
        </font>
        <font size="3">
          <font face="Courier New">[System.CodeDom.Compiler.GeneratedCodeAttribute(</font>
          <font face="Courier New">
            <font color="#800000">"System.ServiceModel"</font>, <font color="#800000">"3.0.0.0"</font></font>
          <font face="Courier New">)]</font>
        </font>
        <p>
          <font face="Courier New" size="3">[System.ServiceModel.ServiceContractAttribute()]</font>
        </p>
        <font color="#0000ff">
          <p>
            <font face="Courier New" size="3">public</font>
          </p>
        </font>
        <font size="3">
          <font face="Courier New">
            <font color="#000000">
            </font>
            <font color="#0000ff">interface</font>
          </font>
          <font face="Courier New" color="#000000"> IAccountsManager</font>
        </font>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font color="#008000">
            <font face="Courier New" size="3">// CODEGEN: Generating message
contract since message part accountNo requires protection.</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">[System.ServiceModel.OperationContractAttribute(Action=</font>
            <font face="Courier New">
              <font color="#800000">"http://tempuri.org/IAccountsManager/CreateAccount"</font>,
ReplyAction=<font color="#800000">"http://tempuri.org/IAccountsManager/CreateAccountResponse"</font></font>
            <font face="Courier New">)]</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">CreateAccountResponse CreateAccount(CreateAccountRequest
request);</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font color="#008000">
            <font face="Courier New" size="3">// CODEGEN: Generating message
contract since message part GetAllAccountsResult requires protection.</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">[System.ServiceModel.OperationContractAttribute(Action=</font>
            <font face="Courier New">
              <font color="#800000">"http://tempuri.org/IAccountsManager/GetAllAccounts"</font>,
ReplyAction=<font color="#800000">"http://tempuri.org/IAccountsManager/GetAllAccountsResponse"</font></font>
            <font face="Courier New">)]</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">GetAllAccountsResponse GetAllAccounts(GetAllAccountsRequest
request);</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font color="#008000">
            <font face="Courier New" size="3">// CODEGEN: Generating message
contract since message part fromAccountNo requires protection.</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">[System.ServiceModel.OperationContractAttribute(Action=</font>
            <font face="Courier New">
              <font color="#800000">"http://tempuri.org/IAccountsManager/Transfer"</font>,
ReplyAction=<font color="#800000">"http://tempuri.org/IAccountsManager/TransferResponse"</font></font>
            <font face="Courier New">)]</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">TransferResponse Transfer(TransferRequest request);</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">[System.CodeDom.Compiler.GeneratedCodeAttribute(</font>
            <font face="Courier New">
              <font color="#800000">"System.ServiceModel"</font>, <font color="#800000">"3.0.0.0"</font>)]
</font>
          </font>
        </p>
        <font color="#0000ff">
          <p>
            <font face="Courier New" size="3">public</font>
          </p>
        </font>
        <font size="3">
          <font face="Courier New">
            <font color="#000000">
            </font>
            <font color="#0000ff">interface</font>
          </font>
          <font face="Courier New" color="#000000"> IAccountsManagerChannel
: IAccountsManager, System.ServiceModel.IClientChannel</font>
        </font>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">[System.CodeDom.Compiler.GeneratedCodeAttribute(</font>
            <font face="Courier New">
              <font color="#800000">"System.ServiceModel"</font>, <font color="#800000">"3.0.0.0"</font>)]
</font>
          </font>
        </p>
        <font color="#0000ff">
          <p>
            <font face="Courier New" size="3">public</font>
          </p>
        </font>
        <font size="3">
          <font face="Courier New">
            <font color="#000000">
            </font>
            <font color="#0000ff">partial</font>
            <font color="#000000">
            </font>
            <font color="#0000ff">class</font>
          </font>
          <font face="Courier New" color="#000000"> AccountsManagerProxy
: System.ServiceModel.ClientBase&lt;IAccountsManager&gt;, IAccountsManager</font>
        </font>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">public</font>
            <font face="Courier New"> AccountsManagerProxy()</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">public</font> AccountsManagerProxy(<font color="#0000ff">string</font></font>
            <font face="Courier New"> endpointConfigurationName)
: </font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">base</font>
            <font face="Courier New">(endpointConfigurationName)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">public</font> AccountsManagerProxy(<font color="#0000ff">string</font> endpointConfigurationName, <font color="#0000ff">string</font></font>
            <font face="Courier New"> remoteAddress)
: </font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">base</font>
            <font face="Courier New">(endpointConfigurationName,
remoteAddress)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">public</font> AccountsManagerProxy(<font color="#0000ff">string</font></font>
            <font face="Courier New"> endpointConfigurationName,
System.ServiceModel.EndpointAddress remoteAddress) : </font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">base</font>
            <font face="Courier New">(endpointConfigurationName,
remoteAddress)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">public</font>
            <font face="Courier New"> AccountsManagerProxy(System.ServiceModel.Channels.Binding
binding, System.ServiceModel.EndpointAddress remoteAddress) : </font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">base</font>
            <font face="Courier New">(binding,
remoteAddress)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">CreateAccountResponse IAccountsManager.CreateAccount(CreateAccountRequest
request)</font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">return</font>
              <font color="#0000ff">base</font>
            </font>
            <font face="Courier New">.InnerProxy.CreateAccount(request);</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">public</font>
              <font color="#0000ff">void</font> CreateAccount(<font color="#0000ff">int</font> accountNo, <font color="#0000ff">string</font> name, <font color="#0000ff">decimal</font></font>
            <font face="Courier New"> initialBalance)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">CreateAccountRequest inValue = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> CreateAccountRequest();</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">inValue.Body = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> CreateAccountRequestBody();</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.accountNo = accountNo;</font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.name = name;</font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.initialBalance = initialBalance;</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">CreateAccountResponse retVal = ((IAccountsManager)(</font>
            <font face="Courier New" color="#0000ff">this</font>
            <font face="Courier New">)).CreateAccount(inValue);</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">GetAllAccountsResponse IAccountsManager.GetAllAccounts(GetAllAccountsRequest
request)</font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">return</font>
              <font color="#0000ff">base</font>
            </font>
            <font face="Courier New">.InnerProxy.GetAllAccounts(request);</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">public</font>
            <font face="Courier New"> BankingBusinessLayer.Account[]
GetAllAccounts()</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">GetAllAccountsRequest inValue = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> GetAllAccountsRequest();</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">inValue.Body = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> GetAllAccountsRequestBody();</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">GetAllAccountsResponse retVal = ((IAccountsManager)(</font>
            <font face="Courier New" color="#0000ff">this</font>
            <font face="Courier New">)).GetAllAccounts(inValue);</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New" color="#0000ff">return</font>
            <font face="Courier New"> retVal.Body.GetAllAccountsResult;</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">TransferResponse IAccountsManager.Transfer(TransferRequest
request)</font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">return</font>
              <font color="#0000ff">base</font>
            </font>
            <font face="Courier New">.InnerProxy.Transfer(request);</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">
              <font color="#0000ff">public</font>
              <font color="#0000ff">void</font> Transfer(<font color="#0000ff">int</font> fromAccountNo, <font color="#0000ff">int</font> toAccountNo, <font color="#0000ff">decimal</font></font>
            <font face="Courier New"> amount)</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">{</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">TransferRequest inValue = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> TransferRequest();</font>
          </font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">inValue.Body = </font>
            <font face="Courier New" color="#0000ff">new</font>
            <font face="Courier New"> TransferRequestBody();</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.fromAccountNo = fromAccountNo;</font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.toAccountNo = toAccountNo;</font>
        </p>
        <p>
          <font face="Courier New" size="3">inValue.Body.amount = amount;</font>
        </p>
        <p>
          <font size="3">
            <font face="Courier New">TransferResponse retVal = ((IAccountsManager)(</font>
            <font face="Courier New" color="#0000ff">this</font>
            <font face="Courier New">)).Transfer(inValue);</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
        </p>
        <p>
          <font face="Courier New" size="3">}</font>
          <font size="4">
          </font>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=51b0482d-e598-426a-8047-948950af8b8e" />
      </body>
      <title>Slides and Demos from Connecting Smart Clients with WCF talk last night - Feb CTP lessons learned</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,51b0482d-e598-426a-8047-948950af8b8e.aspx</guid>
      <link>http://briannoyes.net/2006/02/24/SlidesAndDemosFromConnectingSmartClientsWithWCFTalkLastNightFebCTPLessonsLearned.aspx</link>
      <pubDate>Fri, 24 Feb 2006 15:04:57 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on Connecting Smart Clients at the Microsoft Integration and Connected
Systems User Group (MICSUG) last night. I discussed and demoed the basics of using
Windows Communication Foundation (WCF) to connect applications, using the newly released
Feb CTP.
&lt;/p&gt;
&lt;p&gt;
You can get the slides and demos here:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/ConnectSmartClientsWithWCF_Feb06.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.softinsight.com/downloads/INETA/ConnectingSmartClientsWithWCFDemos_Feb06.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In jumping through the hoops yesterday to get my demos running on the Feb CTP, there
were a number of changes that I had to get used to compared to previous builds.
&lt;/p&gt;
&lt;p&gt;
The biggest is that if you run svcutil against a service that uses wsHttpBinding to
generate a proxy, you get a proxy service contract that uses custom message contracts
to wrap the parameters and return values from each operation contract. XXXRequest
and XXXResponse classes are defined in the proxy file for each operation, along with
an XXXBody class that actually contains the raw parameter/DataContract types. 
&lt;/p&gt;
&lt;p&gt;
If you program against the&amp;nbsp;service contract interface like so:
&lt;/p&gt;
&lt;p&gt;
IAccountsManager mgrProxy = new AccountsManagerProxy();
&lt;/p&gt;
&lt;p&gt;
You will have to create the XXXRequest&amp;nbsp;message contract types to wrap all the
parameters you pass into the methods, and unwrap any return values from the XXXResponse
types. However, they also expose a public method on the proxy class directly that
encapsulates these details so that you can deal directly with the underlying parameters
and return values. 
&lt;/p&gt;
&lt;p&gt;
So instead of calling IAccountsManager.GetAllAccounts for example, you will have an
easier time calling AccountsManagerProxy.GetAllAccounts.
&lt;/p&gt;
&lt;p&gt;
This is true for wsHttpBinding because of the message level security involved in the
default binding. If you use basicHttpBinding, or turn down the security on the wsHttpBinding,
then you will get more straightforward service contract interface definitions on the
client side proxy.
&lt;/p&gt;
&lt;p&gt;
The resulting proxy and service contract look like the following:
&lt;/p&gt;
&lt;font size=4&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.CodeDom.Compiler.GeneratedCodeAttribute(&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"System.ServiceModel"&lt;/font&gt;, &lt;font color=#800000&gt;"3.0.0.0"&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;)]&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;[System.ServiceModel.ServiceContractAttribute()]&lt;/font&gt;
&lt;/p&gt;
&lt;font color=#0000ff&gt; 
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;public&lt;/font&gt;
&lt;/font&gt;&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;interface&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color=#000000&gt; IAccountsManager&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#008000&gt;&lt;font face="Courier New" size=3&gt;// CODEGEN: Generating message
contract since message part accountNo requires protection.&lt;/font&gt;
&lt;/p&gt;
&gt; 
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.ServiceModel.OperationContractAttribute(Action=&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/CreateAccount"&lt;/font&gt;,
ReplyAction=&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/CreateAccountResponse"&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;)]&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;CreateAccountResponse CreateAccount(CreateAccountRequest
request);&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#008000&gt;&lt;font face="Courier New" size=3&gt;// CODEGEN: Generating message
contract since message part GetAllAccountsResult requires protection.&lt;/font&gt;
&lt;/p&gt;
&gt; 
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.ServiceModel.OperationContractAttribute(Action=&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/GetAllAccounts"&lt;/font&gt;,
ReplyAction=&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/GetAllAccountsResponse"&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;)]&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;GetAllAccountsResponse GetAllAccounts(GetAllAccountsRequest
request);&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#008000&gt;&lt;font face="Courier New" size=3&gt;// CODEGEN: Generating message
contract since message part fromAccountNo requires protection.&lt;/font&gt;
&lt;/p&gt;
&gt; 
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.ServiceModel.OperationContractAttribute(Action=&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/Transfer"&lt;/font&gt;,
ReplyAction=&lt;font color=#800000&gt;"http://tempuri.org/IAccountsManager/TransferResponse"&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;)]&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;TransferResponse Transfer(TransferRequest request);&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.CodeDom.Compiler.GeneratedCodeAttribute(&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"System.ServiceModel"&lt;/font&gt;, &lt;font color=#800000&gt;"3.0.0.0"&lt;/font&gt;)]
&lt;/p&gt;
&gt;&gt;&lt;font color=#0000ff&gt; 
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;public&lt;/font&gt;
&lt;/font&gt;&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;interface&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color=#000000&gt; IAccountsManagerChannel
: IAccountsManager, System.ServiceModel.IClientChannel&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;[System.CodeDom.Compiler.GeneratedCodeAttribute(&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color=#800000&gt;"System.ServiceModel"&lt;/font&gt;, &lt;font color=#800000&gt;"3.0.0.0"&lt;/font&gt;)]
&lt;/p&gt;
&gt;&gt;&lt;font color=#0000ff&gt; 
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;public&lt;/font&gt;
&lt;/font&gt;&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;partial&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#0000ff&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color=#000000&gt; AccountsManagerProxy
: System.ServiceModel.ClientBase&amp;lt;IAccountsManager&amp;gt;, IAccountsManager&lt;/font&gt;&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;public&lt;/font&gt;&lt;font face="Courier New"&gt; AccountsManagerProxy()&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;public&lt;/font&gt; AccountsManagerProxy(&lt;font color=#0000ff&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt; endpointConfigurationName)
: &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;base&lt;/font&gt;&lt;font face="Courier New"&gt;(endpointConfigurationName)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;public&lt;/font&gt; AccountsManagerProxy(&lt;font color=#0000ff&gt;string&lt;/font&gt; endpointConfigurationName, &lt;font color=#0000ff&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt; remoteAddress)
: &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;base&lt;/font&gt;&lt;font face="Courier New"&gt;(endpointConfigurationName,
remoteAddress)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;public&lt;/font&gt; AccountsManagerProxy(&lt;font color=#0000ff&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt; endpointConfigurationName,
System.ServiceModel.EndpointAddress remoteAddress) : &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;base&lt;/font&gt;&lt;font face="Courier New"&gt;(endpointConfigurationName,
remoteAddress)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;public&lt;/font&gt;&lt;font face="Courier New"&gt; AccountsManagerProxy(System.ServiceModel.Channels.Binding
binding, System.ServiceModel.EndpointAddress remoteAddress) : &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;base&lt;/font&gt;&lt;font face="Courier New"&gt;(binding,
remoteAddress)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;CreateAccountResponse IAccountsManager.CreateAccount(CreateAccountRequest
request)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;return&lt;/font&gt; &lt;font color=#0000ff&gt;base&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;.InnerProxy.CreateAccount(request);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;public&lt;/font&gt; &lt;font color=#0000ff&gt;void&lt;/font&gt; CreateAccount(&lt;font color=#0000ff&gt;int&lt;/font&gt; accountNo, &lt;font color=#0000ff&gt;string&lt;/font&gt; name, &lt;font color=#0000ff&gt;decimal&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt; initialBalance)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;CreateAccountRequest inValue = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; CreateAccountRequest();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;inValue.Body = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; CreateAccountRequestBody();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.accountNo = accountNo;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.name = name;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.initialBalance = initialBalance;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;CreateAccountResponse retVal = ((IAccountsManager)(&lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;this&lt;/font&gt;&lt;font face="Courier New"&gt;)).CreateAccount(inValue);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;GetAllAccountsResponse IAccountsManager.GetAllAccounts(GetAllAccountsRequest
request)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;return&lt;/font&gt; &lt;font color=#0000ff&gt;base&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;.InnerProxy.GetAllAccounts(request);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;public&lt;/font&gt;&lt;font face="Courier New"&gt; BankingBusinessLayer.Account[]
GetAllAccounts()&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;GetAllAccountsRequest inValue = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; GetAllAccountsRequest();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;inValue.Body = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; GetAllAccountsRequestBody();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;GetAllAccountsResponse retVal = ((IAccountsManager)(&lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;this&lt;/font&gt;&lt;font face="Courier New"&gt;)).GetAllAccounts(inValue);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New" color=#0000ff&gt;return&lt;/font&gt;&lt;font face="Courier New"&gt; retVal.Body.GetAllAccountsResult;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;TransferResponse IAccountsManager.Transfer(TransferRequest
request)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;return&lt;/font&gt; &lt;font color=#0000ff&gt;base&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;.InnerProxy.Transfer(request);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;&lt;font color=#0000ff&gt;public&lt;/font&gt; &lt;font color=#0000ff&gt;void&lt;/font&gt; Transfer(&lt;font color=#0000ff&gt;int&lt;/font&gt; fromAccountNo, &lt;font color=#0000ff&gt;int&lt;/font&gt; toAccountNo, &lt;font color=#0000ff&gt;decimal&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt; amount)&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;{&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;TransferRequest inValue = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; TransferRequest();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;inValue.Body = &lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;new&lt;/font&gt;&lt;font face="Courier New"&gt; TransferRequestBody();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.fromAccountNo = fromAccountNo;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.toAccountNo = toAccountNo;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;inValue.Body.amount = amount;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=3&gt;&lt;font face="Courier New"&gt;TransferResponse retVal = ((IAccountsManager)(&lt;/font&gt;&lt;font face="Courier New" color=#0000ff&gt;this&lt;/font&gt;&lt;font face="Courier New"&gt;)).Transfer(inValue);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=3&gt;}&lt;/font&gt;&lt;font size=4&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=51b0482d-e598-426a-8047-948950af8b8e" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,51b0482d-e598-426a-8047-948950af8b8e.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=23d11276-49e4-4c1b-ad6a-0507fdc64189</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,23d11276-49e4-4c1b-ad6a-0507fdc64189.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,23d11276-49e4-4c1b-ad6a-0507fdc64189.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=23d11276-49e4-4c1b-ad6a-0507fdc64189</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recorded a DNR and DNRtv last week in New London and they are already up on the
site.
</p>
        <p>
You can download/listen to the .NET Rocks! epsidode here: <a href="http://www.dotnetrocks.com">http://www.dotnetrocks.com</a></p>
        <p>
And the DNRtv here: <a href="http://www.dnrtv.com">http://www.dnrtv.com</a></p>
        <p>
In the DNR episode, we talk about data binding, ClickOnce and a few other related
topics.
</p>
        <p>
This DNRtv shows how to do some of the data binding stuff in the designer. Keep your
eyes out for another episode in a week or so on ClickOnce deployment.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=23d11276-49e4-4c1b-ad6a-0507fdc64189" />
      </body>
      <title>.NET Rocks and DNRtv episodes up</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,23d11276-49e4-4c1b-ad6a-0507fdc64189.aspx</guid>
      <link>http://briannoyes.net/2006/02/24/NETRocksAndDNRtvEpisodesUp.aspx</link>
      <pubDate>Fri, 24 Feb 2006 14:45:20 GMT</pubDate>
      <description>&lt;p&gt;
I recorded a DNR and DNRtv last week in New London and they are already up on the
site.
&lt;/p&gt;
&lt;p&gt;
You can download/listen to the .NET Rocks! epsidode here: &lt;a href="http://www.dotnetrocks.com"&gt;http://www.dotnetrocks.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
And the DNRtv here: &lt;a href="http://www.dnrtv.com"&gt;http://www.dnrtv.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In the DNR episode, we talk about data binding, ClickOnce and a few other related
topics.
&lt;/p&gt;
&lt;p&gt;
This DNRtv shows how to do some of the data binding stuff in the designer. Keep your
eyes out for another episode in a week or so on ClickOnce deployment.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=23d11276-49e4-4c1b-ad6a-0507fdc64189" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,23d11276-49e4-4c1b-ad6a-0507fdc64189.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=e9db2e05-a57e-4604-b29c-fb5d4c5495c0</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,e9db2e05-a57e-4604-b29c-fb5d4c5495c0.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,e9db2e05-a57e-4604-b29c-fb5d4c5495c0.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e9db2e05-a57e-4604-b29c-fb5d4c5495c0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Come on out for the inaugural meeting of the <a href="http://groups.msn.com/micsug">Microsoft
Integration and Connected Systems User Group (MICSUG) </a>at the Microsoft Reston
offices tomorrow night at 7 pm. I'll be giving a presentation on using WCF to connect
smart clients in a distributed environment.
</p>
        <p>
Should be a great time!
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=e9db2e05-a57e-4604-b29c-fb5d4c5495c0" />
      </body>
      <title>Connecting Smart Clients with WCF - MICSUG talk tomorrow night</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,e9db2e05-a57e-4604-b29c-fb5d4c5495c0.aspx</guid>
      <link>http://briannoyes.net/2006/02/22/ConnectingSmartClientsWithWCFMICSUGTalkTomorrowNight.aspx</link>
      <pubDate>Wed, 22 Feb 2006 13:56:36 GMT</pubDate>
      <description>&lt;p&gt;
Come on out for the inaugural meeting of the &lt;a href="http://groups.msn.com/micsug"&gt;Microsoft
Integration and Connected Systems User Group (MICSUG) &lt;/a&gt;at the Microsoft Reston
offices tomorrow night at 7 pm. I'll be giving a presentation on using WCF to connect
smart clients in a distributed environment.
&lt;/p&gt;
&lt;p&gt;
Should be a great time!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=e9db2e05-a57e-4604-b29c-fb5d4c5495c0" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,e9db2e05-a57e-4604-b29c-fb5d4c5495c0.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=cceb1d90-9f88-49e9-bf30-39889ae025c5</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,cceb1d90-9f88-49e9-bf30-39889ae025c5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,cceb1d90-9f88-49e9-bf30-39889ae025c5.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cceb1d90-9f88-49e9-bf30-39889ae025c5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I went up to New London this week and taped
two episodes of <a href="http://www.dnrtv.com/">DNRtv</a> and one <a href="http://www.dotnetrocks.com/">DNR </a>with <a href="http://weblogs.asp.net/cfranklin">Carl </a>and <a href="http://www.campbellassociates.ca/blog/">Richard</a>.
The DNRtv episodes should go up in the next two weeks, one on data binding and one
on ClickOnce deployment. The DNR will air on 22 March. Check them out!<img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=cceb1d90-9f88-49e9-bf30-39889ae025c5" /></body>
      <title>.NET Rocks! and .NET Rocks! TV Episodes coming up</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,cceb1d90-9f88-49e9-bf30-39889ae025c5.aspx</guid>
      <link>http://briannoyes.net/2006/02/20/NETRocksAndNETRocksTVEpisodesComingUp.aspx</link>
      <pubDate>Mon, 20 Feb 2006 18:10:56 GMT</pubDate>
      <description>I went up to New London this week and taped two episodes of &lt;a href="http://www.dnrtv.com/"&gt;DNRtv&lt;/a&gt; and
one &lt;a href="http://www.dotnetrocks.com/"&gt;DNR &lt;/a&gt;with &lt;a href="http://weblogs.asp.net/cfranklin"&gt;Carl &lt;/a&gt;and &lt;a href="http://www.campbellassociates.ca/blog/"&gt;Richard&lt;/a&gt;.
The DNRtv episodes should go up in the next two weeks, one on data binding and one
on ClickOnce deployment. The DNR will air on 22 March. Check them out!&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=cceb1d90-9f88-49e9-bf30-39889ae025c5" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,cceb1d90-9f88-49e9-bf30-39889ae025c5.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=32486811-1be2-418f-8f43-5d5e4f55942e</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,32486811-1be2-418f-8f43-5d5e4f55942e.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,32486811-1be2-418f-8f43-5d5e4f55942e.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=32486811-1be2-418f-8f43-5d5e4f55942e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on data binding in NYC this Thu night. Had a great time. Lively crowd
as always, lots of good questions and interaction.
</p>
        <p>
Here are the slides and demos:
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0_Feb06.pdf">Slides</a>    <a href="http://www.softinsight.com/downloads/INETA/DataBindingDemosFeb06.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=32486811-1be2-418f-8f43-5d5e4f55942e" />
      </body>
      <title>Data Binding with Windows Forms 2.0 Slides/Demos from NYC.NET</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,32486811-1be2-418f-8f43-5d5e4f55942e.aspx</guid>
      <link>http://briannoyes.net/2006/02/20/DataBindingWithWindowsForms20SlidesDemosFromNYCNET.aspx</link>
      <pubDate>Mon, 20 Feb 2006 18:06:58 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on data binding in NYC this Thu night. Had a great time. Lively crowd
as always, lots of good questions and interaction.
&lt;/p&gt;
&lt;p&gt;
Here are the slides and demos:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0_Feb06.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/DataBindingDemosFeb06.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=32486811-1be2-418f-8f43-5d5e4f55942e" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,32486811-1be2-418f-8f43-5d5e4f55942e.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=1f9618cf-a893-4973-a294-9e020fb7d482</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,1f9618cf-a893-4973-a294-9e020fb7d482.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,1f9618cf-a893-4973-a294-9e020fb7d482.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=1f9618cf-a893-4973-a294-9e020fb7d482</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">For the folks from my Master class in CA
this week, <a href="http://www.softinsight.com/downloads/Classes/TDCdemos.zip">here
are the live demos</a>. Anyone's welcome to grab them, most have project names that
indicate what was being demoed.<img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=1f9618cf-a893-4973-a294-9e020fb7d482" /></body>
      <title>TDC Class Demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,1f9618cf-a893-4973-a294-9e020fb7d482.aspx</guid>
      <link>http://briannoyes.net/2006/02/04/TDCClassDemos.aspx</link>
      <pubDate>Sat, 04 Feb 2006 13:28:28 GMT</pubDate>
      <description>For the folks from my Master class in CA this week, &lt;a href="http://www.softinsight.com/downloads/Classes/TDCdemos.zip"&gt;here
are the live demos&lt;/a&gt;. Anyone's welcome to grab them, most have project names that
indicate what was being demoed.&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=1f9618cf-a893-4973-a294-9e020fb7d482" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,1f9618cf-a893-4973-a294-9e020fb7d482.aspx</comments>
      <category>.NET</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=59671788-f800-4ee0-bd98-e756ac198db6</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,59671788-f800-4ee0-bd98-e756ac198db6.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,59671788-f800-4ee0-bd98-e756ac198db6.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=59671788-f800-4ee0-bd98-e756ac198db6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a presentation on WPF last night in Orlando to ONETUG. Great group, lots of
good questions, had a lot of fun. 
</p>
        <p>
Here are the slides and demos:  <a href="http://www.softinsight.com/downloads/INETA/FundamentalsofWPF.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/INETA/FundamentalsofWPFDemos.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=59671788-f800-4ee0-bd98-e756ac198db6" />
      </body>
      <title>Fundamentals of Windows Presentation Foundation talk at ONETUG last night</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,59671788-f800-4ee0-bd98-e756ac198db6.aspx</guid>
      <link>http://briannoyes.net/2006/01/19/FundamentalsOfWindowsPresentationFoundationTalkAtONETUGLastNight.aspx</link>
      <pubDate>Thu, 19 Jan 2006 14:08:05 GMT</pubDate>
      <description>&lt;p&gt;
I gave a presentation on WPF last night in Orlando to ONETUG. Great group, lots of
good questions, had a lot of fun. 
&lt;/p&gt;
&lt;p&gt;
Here are the slides and demos:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/FundamentalsofWPF.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/FundamentalsofWPFDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=59671788-f800-4ee0-bd98-e756ac198db6" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,59671788-f800-4ee0-bd98-e756ac198db6.aspx</comments>
      <category>.NET</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on data binding at the Sarasota FL .NEt Users Group last night. Had
a great time, and it was especially fun to present this topic this time since it was
the first time presenting on data binding since my book came out. Gave away a couple
copies. It was also great to go have some beers with the group members afterwards,
including fellow MVPs <a href="http://www.vbnetexpert.com/">Stan Schultes</a> and <a href="http://codebetter.com/blogs/david.hayden/default.aspx">David
Hayden</a>.
</p>
        <p>
You can grab the slides and demos here:  <a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/INETA/WindowsFormsDataBinding_Jan06.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a" />
      </body>
      <title>Data Binding with Windows Forms 2.0 Talk in Sarasota last night</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a.aspx</guid>
      <link>http://briannoyes.net/2006/01/18/DataBindingWithWindowsForms20TalkInSarasotaLastNight.aspx</link>
      <pubDate>Wed, 18 Jan 2006 14:16:15 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on data binding at the Sarasota FL .NEt Users Group last night. Had
a great time, and it was especially fun to present this topic this time since it was
the first time presenting on data binding since my book came out. Gave away a couple
copies. It was also great to go have some beers with the group members afterwards,
including fellow MVPs &lt;a href="http://www.vbnetexpert.com/"&gt;Stan Schultes&lt;/a&gt; and &lt;a href="http://codebetter.com/blogs/david.hayden/default.aspx"&gt;David
Hayden&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
You can grab the slides and demos here:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/DataBindingwithWindowsForms2.0.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/WindowsFormsDataBinding_Jan06.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,aa54dc2b-a4e9-4bb8-97ec-a0debbbd868a.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=2757c885-e786-401f-80dc-f4d271f3f1bf</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,2757c885-e786-401f-80dc-f4d271f3f1bf.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,2757c885-e786-401f-80dc-f4d271f3f1bf.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2757c885-e786-401f-80dc-f4d271f3f1bf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I co-presented the Smart Client session at the DC Launch event yesterday at the Washington
Convention Center with Marc Schweigert, a Microsoft Developer Evangelist for the Federal
Sector. We covered a lot of good material on Windows Forms 2.0 capabilities including
data binding and ClickOnce, two topics close to my heart since I have written/am writing
books on them. I also spent most of the day in the Ask the Experts booth along with
other local DC area experts like <a href="http://codebetter.com/blogs/sahil.malik/">Sahil
Malik</a>, Randy Hayes, <a href="http://blogs.msdn.com/gduthie/default.aspx">G. Andrew
Duthie</a>, <a href="http://dotnetjunkies.com/WebLog/darrell.norton/">Darrell Norton</a>, <a href="http://weblogs.asp.net/jcogley/">Jonathan
Cogley </a>and <a href="http://weblogs.asp.net/vlele/">Vishwas Lele</a>. Besides being
a great opportunity to catch up with all these guys and exchange ideas, it was a great
day talking to developers from the area and seeing how much enthusiasm there is around
the availability of VS 2005 and .NET 2.0. Most of the people there had spent little
to no time looking at the new stuff, so there was the usual "wow!" reaction when they
saw all the great features and capabilities that are now available to them. 
</p>
        <p>
I think we ended up with over 2000 attendees at the event, with about a thousand or
so sticking around to the bitter end for our session, which was last up at 4:30-5:45.
</p>
        <p>
The folks at Microsoft that put together the event (Darryl Schaffer in particular)
did a great job organizing and running the event. 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=2757c885-e786-401f-80dc-f4d271f3f1bf" />
      </body>
      <title>VS 2005 DC Launch Event</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,2757c885-e786-401f-80dc-f4d271f3f1bf.aspx</guid>
      <link>http://briannoyes.net/2006/01/12/VS2005DCLaunchEvent.aspx</link>
      <pubDate>Thu, 12 Jan 2006 20:47:01 GMT</pubDate>
      <description>&lt;p&gt;
I co-presented the Smart Client session at the DC Launch event yesterday at the Washington
Convention Center with Marc Schweigert, a Microsoft Developer Evangelist for the Federal
Sector. We covered a lot of good material on Windows Forms 2.0 capabilities including
data binding and ClickOnce, two topics close to my heart since I have written/am writing
books on them. I also spent most of the day in the Ask the Experts booth along with
other local DC area experts like &lt;a href="http://codebetter.com/blogs/sahil.malik/"&gt;Sahil
Malik&lt;/a&gt;, Randy Hayes, &lt;a href="http://blogs.msdn.com/gduthie/default.aspx"&gt;G. Andrew
Duthie&lt;/a&gt;, &lt;a href="http://dotnetjunkies.com/WebLog/darrell.norton/"&gt;Darrell Norton&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/jcogley/"&gt;Jonathan
Cogley &lt;/a&gt;and &lt;a href="http://weblogs.asp.net/vlele/"&gt;Vishwas Lele&lt;/a&gt;. Besides being
a great opportunity to catch up with all these guys and exchange ideas, it was a great
day talking to developers from the area and seeing how much enthusiasm there is around
the availability of VS 2005 and .NET 2.0. Most of the people there had spent little
to no time looking at the new stuff, so there was the usual "wow!" reaction when they
saw all the great features and capabilities that are now available to them. 
&lt;/p&gt;
&lt;p&gt;
I think we ended up with over 2000 attendees at the event, with about a thousand or
so sticking around to the bitter end for our session, which was last up at 4:30-5:45.
&lt;/p&gt;
&lt;p&gt;
The folks at Microsoft that put together the event (Darryl Schaffer in particular)
did a great job organizing and running the event. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=2757c885-e786-401f-80dc-f4d271f3f1bf" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,2757c885-e786-401f-80dc-f4d271f3f1bf.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=b3c2e14b-91c7-4a6d-a7ee-d31a76a66209</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,b3c2e14b-91c7-4a6d-a7ee-d31a76a66209.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,b3c2e14b-91c7-4a6d-a7ee-d31a76a66209.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b3c2e14b-91c7-4a6d-a7ee-d31a76a66209</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am the vice president of the <a href="http://www.caparea.net">Capital Area .NET
Users Group</a>, and help coordinate our speakers and sponsors. If you are interested
in speaking at CapArea, or know someone who might be, I am trying to get our speaker
line up for 2006 rolling. We need a speaker for Feb 2006, and April-Dec.
</p>
        <p>
Like most user groups, we have no budget for paying speakers or covering travel expenses.
This is just a chance for you to share your expertise with fellow community members
and teaching them something new about .NET development.
</p>
        <p>
If you are interested, please contact me at brian.noyes(AT)idesign.net.
</p>
        <p>
Thanks
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=b3c2e14b-91c7-4a6d-a7ee-d31a76a66209" />
      </body>
      <title>Capital Area .NET Users Group Call for Speakers</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,b3c2e14b-91c7-4a6d-a7ee-d31a76a66209.aspx</guid>
      <link>http://briannoyes.net/2005/12/09/CapitalAreaNETUsersGroupCallForSpeakers.aspx</link>
      <pubDate>Fri, 09 Dec 2005 15:14:46 GMT</pubDate>
      <description>&lt;p&gt;
I am the vice president of the &lt;a href="http://www.caparea.net"&gt;Capital Area .NET
Users Group&lt;/a&gt;, and help coordinate our speakers and sponsors. If you are interested
in speaking at CapArea, or know someone who might be, I am trying to get our speaker
line up for 2006 rolling. We need a speaker for Feb 2006, and April-Dec.
&lt;/p&gt;
&lt;p&gt;
Like most user groups, we have no budget for paying speakers or covering travel expenses.
This is just a chance for you to share your expertise with fellow community members
and teaching them something new about .NET development.
&lt;/p&gt;
&lt;p&gt;
If you are interested, please contact me at brian.noyes(AT)idesign.net.
&lt;/p&gt;
&lt;p&gt;
Thanks
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=b3c2e14b-91c7-4a6d-a7ee-d31a76a66209" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,b3c2e14b-91c7-4a6d-a7ee-d31a76a66209.aspx</comments>
      <category>Community</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=2d39e57c-831b-466a-a666-a0839f9eab70</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,2d39e57c-831b-466a-a666-a0839f9eab70.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,2d39e57c-831b-466a-a666-a0839f9eab70.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2d39e57c-831b-466a-a666-a0839f9eab70</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The question came up from several attendees at my MSDN Webcast on ClickOnce yesterday:
</p>
        <p>
"Can I launch a XXX application using ClickOnce?" (fill in XXX with VB6, MFC, etc.
- non-.NET applications)
</p>
        <p>
The answer is yes, you will just have to employ a little trick.
</p>
        <p>
What you need is a simple little launcher application that IS a Windows .NET application.
So do the following:
</p>
        <ol>
          <li>
Create a new Windows Application project with VS 2005. 
</li>
          <li>
Delete the Form1 from the project.</li>
          <li>
Add the unmanaged EXE and any supporting files to the VS 2005 project, which makes
them part of this application from a ClickOnce perspective. As a result, they will
get deployed with this application to its cache folder and can be executed by this
launcher app.</li>
          <li>
Edit the Program.cs file Main method and delete the current method body (which launches
the application and the form) and replace it with code to launch the unmanaged executable.
This just requires a single line of code: Process.Start("MyUnamangedApp.exe");</li>
        </ol>
        <p>
Note: You will need to give the launcher app full trust in the ClickOnce security
settings.
</p>
        <p>
Note2: If the unmanaged app relies on ActiveX or COM objects, those need to be added
to the project as well, and you will need to add a reference to the COM DLL's to the
project to get their reg-free COM information added to the manifest. See <a href="http://msdn.microsoft.com/vbasic/default.aspx?pull=/msdnmag/issues/05/04/RegFreeCOM/default.aspx">this
article </a>for more details.
</p>
        <p>
You can <a href="http://www.softinsight.com/downloads/COAppLauncher.zip">download
a sample implementation here</a>.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=2d39e57c-831b-466a-a666-a0839f9eab70" />
      </body>
      <title>Launching unmanaged applications with ClickOnce</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,2d39e57c-831b-466a-a666-a0839f9eab70.aspx</guid>
      <link>http://briannoyes.net/2005/11/30/LaunchingUnmanagedApplicationsWithClickOnce.aspx</link>
      <pubDate>Wed, 30 Nov 2005 15:29:32 GMT</pubDate>
      <description>&lt;p&gt;
The question came up from several attendees at my MSDN Webcast on ClickOnce yesterday:
&lt;/p&gt;
&lt;p&gt;
"Can I launch a XXX application using ClickOnce?" (fill in XXX with VB6, MFC, etc.
- non-.NET applications)
&lt;/p&gt;
&lt;p&gt;
The answer is yes, you will just have to employ a little trick.
&lt;/p&gt;
&lt;p&gt;
What you need is a simple little launcher application that IS a Windows .NET application.
So do the following:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Create a new Windows Application project with VS 2005. 
&lt;/li&gt;
&lt;li&gt;
Delete the Form1 from the project.&lt;/li&gt;
&lt;li&gt;
Add the unmanaged EXE and any supporting files to the VS 2005 project, which makes
them part of this application from a ClickOnce perspective. As a result, they will
get deployed with this application to its cache folder and can be executed by this
launcher app.&lt;/li&gt;
&lt;li&gt;
Edit the Program.cs file Main method and delete the current method body (which launches
the application and the form) and replace it with code to launch the unmanaged executable.
This just requires a single line of code: Process.Start("MyUnamangedApp.exe");&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Note: You will need to give the launcher app full trust in the ClickOnce security
settings.
&lt;/p&gt;
&lt;p&gt;
Note2: If the unmanaged app relies on ActiveX or COM objects, those need to be added
to the project as well, and you will need to add a reference to the COM DLL's to the
project to get their reg-free COM information added to the manifest. See &lt;a href="http://msdn.microsoft.com/vbasic/default.aspx?pull=/msdnmag/issues/05/04/RegFreeCOM/default.aspx"&gt;this
article &lt;/a&gt;for more details.
&lt;/p&gt;
&lt;p&gt;
You can &lt;a href="http://www.softinsight.com/downloads/COAppLauncher.zip"&gt;download
a sample implementation here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=2d39e57c-831b-466a-a666-a0839f9eab70" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,2d39e57c-831b-466a-a666-a0839f9eab70.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=9cc9ee60-f212-44d6-af33-dcf5279976fd</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,9cc9ee60-f212-44d6-af33-dcf5279976fd.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,9cc9ee60-f212-44d6-af33-dcf5279976fd.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9cc9ee60-f212-44d6-af33-dcf5279976fd</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For those who attended or are interested, <a href="http://www.softinsight.com/downloads/MSDNWebcasts/ClickOnceDemos.zip">here
are the demos </a>from my MSDN Webcast on ClickOnce yesterday.
</p>
        <p>
You can find the webcast link for <a href="http://www.softinsight.com/bnoyes/ct.ashx?id=59ae0941-a088-4d69-8d9e-c48dab56bc2d&amp;url=http%3a%2f%2fwww.microsoft.com%2fevents%2fseries%2fmsdnlaunch2005.mspx%23Smart%2520Client">on-demand
viewing here</a>.
</p>
        <p>
For the demo that went awry demonstrating on-demand updates, the little mistake I
made was that I said that if you turn off automatic updates (Check for updates option
at top of Updates dialog), then you need to put in an Update location, which is true.
But what I was doing was fully qualifying the path to the deployment manifest, which
is incorrect. What you need to put is just the URL to the root folder where the deployment
manifest resides. VS will automatically append the deployment manifest file name.
So when I was putting in:
</p>
        <p>
          <a href="http://localhost/ClickOnceOnDemand/ClickOnceOnDemand.application">http://localhost/ClickOnceOnDemand/ClickOnceOnDemand.application</a>
        </p>
        <p>
I should have just been putting
</p>
        <p>
          <a href="http://localhost/ClickOnceOnDemand/">http://localhost/ClickOnceOnDemand/</a>
        </p>
        <p>
Another little tidbit I didn't mention is that you will need Full Trust for on-demand
updates, which is unfortunate because it means the app has to request full trust even
though it may not be doing anything privileged beyond on-demand updates.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9cc9ee60-f212-44d6-af33-dcf5279976fd" />
      </body>
      <title>Demos from ClickOnce MSDN Webcast</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,9cc9ee60-f212-44d6-af33-dcf5279976fd.aspx</guid>
      <link>http://briannoyes.net/2005/11/30/DemosFromClickOnceMSDNWebcast.aspx</link>
      <pubDate>Wed, 30 Nov 2005 14:31:21 GMT</pubDate>
      <description>&lt;p&gt;
For those who attended or are interested, &lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/ClickOnceDemos.zip"&gt;here
are the demos &lt;/a&gt;from my MSDN Webcast on ClickOnce yesterday.
&lt;/p&gt;
&lt;p&gt;
You can find the webcast link for &lt;a href="http://www.softinsight.com/bnoyes/ct.ashx?id=59ae0941-a088-4d69-8d9e-c48dab56bc2d&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fevents%2fseries%2fmsdnlaunch2005.mspx%23Smart%2520Client"&gt;on-demand
viewing here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
For the demo that went awry demonstrating on-demand updates, the little mistake I
made was that I said that if you turn off automatic updates (Check for updates option
at top of Updates dialog), then you need to put in an Update location, which is true.
But what I was doing was fully qualifying the path to the deployment manifest, which
is incorrect. What you need to put is just the URL to the root folder where the deployment
manifest resides. VS will automatically append the deployment manifest file name.
So when I was putting in:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://localhost/ClickOnceOnDemand/ClickOnceOnDemand.application"&gt;http://localhost/ClickOnceOnDemand/ClickOnceOnDemand.application&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I should have just been putting
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://localhost/ClickOnceOnDemand/"&gt;http://localhost/ClickOnceOnDemand/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Another little tidbit I didn't mention is that you will need Full Trust for on-demand
updates, which is unfortunate because it means the app has to request full trust even
though it may not be doing anything privileged beyond on-demand updates.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9cc9ee60-f212-44d6-af33-dcf5279976fd" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,9cc9ee60-f212-44d6-af33-dcf5279976fd.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=59ae0941-a088-4d69-8d9e-c48dab56bc2d</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,59ae0941-a088-4d69-8d9e-c48dab56bc2d.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,59ae0941-a088-4d69-8d9e-c48dab56bc2d.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=59ae0941-a088-4d69-8d9e-c48dab56bc2d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataGridViewDemos.zip">Here
are the demos</a> from my MSDN Webcast today on the DataGridView control. 
</p>
        <p>
You can find the sample DataGridView chapter for my book <a href="http://searchsqlserver.techtarget.com/searchsqlserver/downloads/data_binding_proof.pdf">here</a>.
</p>
        <p>
You can view the webcast on demand through the links <a href="http://www.microsoft.com/events/series/msdnlaunch2005.mspx#Smart%20Client">here</a>.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=59ae0941-a088-4d69-8d9e-c48dab56bc2d" />
      </body>
      <title>DataGridView Webcast demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,59ae0941-a088-4d69-8d9e-c48dab56bc2d.aspx</guid>
      <link>http://briannoyes.net/2005/11/29/DataGridViewWebcastDemos.aspx</link>
      <pubDate>Tue, 29 Nov 2005 19:44:11 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/MSDNWebcasts/DataGridViewDemos.zip"&gt;Here
are the demos&lt;/a&gt; from my MSDN Webcast today on the DataGridView control. 
&lt;/p&gt;
&lt;p&gt;
You can find the sample DataGridView chapter for my book &lt;a href="http://searchsqlserver.techtarget.com/searchsqlserver/downloads/data_binding_proof.pdf"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
You can view the webcast on demand through the links &lt;a href="http://www.microsoft.com/events/series/msdnlaunch2005.mspx#Smart%20Client"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=59ae0941-a088-4d69-8d9e-c48dab56bc2d" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,59ae0941-a088-4d69-8d9e-c48dab56bc2d.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=48ae99d3-42bc-4678-9f2b-44ef6314c6fe</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,48ae99d3-42bc-4678-9f2b-44ef6314c6fe.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,48ae99d3-42bc-4678-9f2b-44ef6314c6fe.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=48ae99d3-42bc-4678-9f2b-44ef6314c6fe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave a talk on connecting smart clients with WCF on Tuesday at Boulder .NET. Had
a good turnout desipte the proximity to the holiday and had a good time.
</p>
        <p>
The talk covered the fundamentals of connecting applications with WCF since most of
the people there had never seen anything on WCF. Then I moved into some of the specific
client concerns when using WCF, similar to my talk at VSConnections.
</p>
        <p>
You can get the slides and demos here:  <a href="http://www.softinsight.com/downloads/INETA/ConnectSmartClientApplicationswithWCF.pdf">Slides</a>   <a href="http://www.softinsight.com/downloads/INETA/ConnectingSmartClientsWithWCF.zip">Demos</a></p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=48ae99d3-42bc-4678-9f2b-44ef6314c6fe" />
      </body>
      <title>Slides and demos from Boulder .NET</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,48ae99d3-42bc-4678-9f2b-44ef6314c6fe.aspx</guid>
      <link>http://briannoyes.net/2005/11/24/SlidesAndDemosFromBoulderNET.aspx</link>
      <pubDate>Thu, 24 Nov 2005 15:24:32 GMT</pubDate>
      <description>&lt;p&gt;
I gave a talk on connecting smart clients with WCF on Tuesday at Boulder .NET. Had
a good turnout desipte the proximity to the holiday and had a good time.
&lt;/p&gt;
&lt;p&gt;
The talk covered the fundamentals of connecting applications with WCF since most of
the people there had never seen anything on WCF. Then I moved into some of the specific
client concerns when using WCF, similar to my talk at VSConnections.
&lt;/p&gt;
&lt;p&gt;
You can get the slides and demos here:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/ConnectSmartClientApplicationswithWCF.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/INETA/ConnectingSmartClientsWithWCF.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=48ae99d3-42bc-4678-9f2b-44ef6314c6fe" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,48ae99d3-42bc-4678-9f2b-44ef6314c6fe.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=f9834693-e992-4bf1-9408-1ab8d2cb518c</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,f9834693-e992-4bf1-9408-1ab8d2cb518c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,f9834693-e992-4bf1-9408-1ab8d2cb518c.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f9834693-e992-4bf1-9408-1ab8d2cb518c</wfw:commentRss>
      <title>Interface-based Programming example employing the Factory pattern</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,f9834693-e992-4bf1-9408-1ab8d2cb518c.aspx</guid>
      <link>http://briannoyes.net/2005/11/20/InterfacebasedProgrammingExampleEmployingTheFactoryPattern.aspx</link>
      <pubDate>Sun, 20 Nov 2005 16:16:02 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;When
I demonstrate the use of interface-based programming in a class, I always give a demo
of using interface-based programming combined with a factory pattern to add dynamic
behaviors to an application. This is basically a scaled down version of what the provider
model in ASP.NET 2.0 and the Enterprise Library do to allow you to externally configure
components that will be called by the framework at runtime. ASP.NET actually uses
abstract base classes instead of interfaces because they also provide some shared
implementation, but the concepts are basically the same.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;I use a simple
little example of a client that defines an IDog interface (in a separate interface
only assembly that it can share with component providers) that specifies the contract
that providers are expected to implement. I then show how to build components separately
that the client has no specific type information about, and load and invoke the behavior
defined in those components dynamically through a factory and based on the interface
definition that is the contract for how those components expose their behavior and
some configuration file entries that the factory can use to load and instantiate the
types. The client is able to do this without requiring any code modifications to accept
new components, and can even have new behaviors added at runtime without needing to
restart the application.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;I have repacked
the demo I normally give in class to:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Make it a
little cleaner&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Separate out
the factory into a generic factory in a separate assembly that could be reused for
any project&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Use the new
Settings features in the .NET 2.0 framework to enter the type information into a configuration
file instead of using a separate XML file like I used to. 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;The factory
method looks like the following:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt;&lt;font color=#000000&gt; T[]
ConstructType&amp;lt;T&amp;gt;() &lt;/font&gt;&lt;span style="COLOR: blue"&gt;where&lt;/span&gt;&lt;font color=#000000&gt; T
: &lt;/font&gt;&lt;span style="COLOR: blue"&gt;class&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Refresh the config cache in case the config file has been edited at runtime&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;Settings&lt;/span&gt;&lt;font color=#000000&gt;.Default.Reload();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Load the collection of components from the string collection in config&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;StringCollection&lt;/span&gt;&lt;font color=#000000&gt; componentTypeInfoColl
= &lt;/font&gt;&lt;span style="COLOR: teal"&gt;Settings&lt;/span&gt;&lt;font color=#000000&gt;.Default.Components;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Create a list to add the components to as they are created&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&lt;font color=#000000&gt;&amp;lt;T&amp;gt;
components = &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&lt;font color=#000000&gt;&amp;lt;T&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;// 
&lt;st1:place w:st="on"&gt;Loop&lt;/st1:place&gt;
through the config strings trying to create instances of the appropriate type&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt;&lt;font color=#000000&gt; (&lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; componentTypeInfo &lt;/font&gt;&lt;span style="COLOR: blue"&gt;in&lt;/span&gt;&lt;font color=#000000&gt; componentTypeInfoColl)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Config entries should be in the form:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Fully.Qualified.TypeName, AssemblyName&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Split into its two parts&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt;[]
typeInfo = componentTypeInfo.Split(&lt;/font&gt;&lt;span style="BACKGROUND: aqua; COLOR: maroon; mso-highlight: aqua"&gt;','&lt;/span&gt;&lt;font color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Dynamic load the assembly&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;Assembly&lt;/span&gt;&lt;font color=#000000&gt; assem
= &lt;/font&gt;&lt;span style="COLOR: teal"&gt;Assembly&lt;/span&gt;&lt;font color=#000000&gt;.Load(typeInfo[1].Trim());&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Dynamic instance creation&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;T
instance = assem.CreateInstance(typeInfo[0].Trim()) &lt;/font&gt;&lt;span style="COLOR: blue"&gt;as&lt;/span&gt;&lt;font color=#000000&gt; T;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;&lt;font color=#000000&gt; (instance
!= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;&lt;font color=#000000&gt;)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&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;components.Add(instance);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;catch&lt;/span&gt;&lt;font color=#000000&gt; {
} &lt;/font&gt;&lt;span style="BACKGROUND: silver; COLOR: green; mso-highlight: silver"&gt;//
Just ignore invalid types&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt;&lt;font color=#000000&gt; components.ToArray();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;So the only
things you need to know to use this as a factory for other purposes than this demo
is that it expects the type information to be entered in the client configuration
file with an application settings section like the following:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font color=#000000 size=3&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; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;configuration&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;configSections&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;sectionGroup&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;name&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;applicationSettings&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;type&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;System.Configuration.ApplicationSettingsGroup,
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; &amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;section&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;name&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;DynamicFactoryLibrary.Properties.Settings&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;type&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;System.Configuration.ClientSettingsSection,
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;requirePermission&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;sectionGroup&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;configSections&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;applicationSettings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;DynamicFactoryLibrary.Properties.Settings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;setting&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;name&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;Components&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;serializeAs&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;Xml&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;value&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;ArrayOfString&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/span&gt;&lt;font color=#000000&gt;"&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;xmlns:xsd&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/span&gt;&lt;font color=#000000&gt;"&lt;/font&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&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;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;string&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;Animals.Dog,
Animals&lt;/font&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;string&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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; &lt;/span&gt;&amp;lt;!--&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&amp;lt;string&amp;gt;Animals.GermanShepherd,
Animals&amp;lt;/string&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&amp;lt;string&amp;gt;Animals2.Shitzu,
Animals2&amp;lt;/string&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&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;&lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;ArrayOfString&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;value&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&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;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;setting&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;DynamicFactoryLibrary.Properties.Settings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;applicationSettings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;configuration&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;I’m
just using a StringCollection as the type for the component type collection, so each
component that you want to add to the collection should be added to the section in
the form:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font 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; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;string&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;Animals.Dog,
Animals&lt;/font&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;string&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;You can see
a couple of additional components commented out for dynamically adding them into the
application (even while it is running). The type information uses a standard convention
for specifying type information through a config file: specifically the fully qualified
type name of the type, followed by a comma, followed by an Assembly name to load it
from.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;You can &lt;a href="http://www.softinsight.com/downloads/InterfaceBasedProgramming.zip"&gt;grab
the whole sample here&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font 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="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;To demonstrate
the example in action:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in" type=disc&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;First build
the InterfaceBasedProgramming solution, which builds the interface contract assembly,
the factory library, and the client application. The default client config file has
all of the type information for available components commented out.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Open the build
output folder of the client (InterfaceBasedClient\bin\debug) and run the client by
double clicking on InterfaceBasedClient.exe.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Push the button
and observe that you get nothing because no types have been provided or plugged in
though the config file yet. Leave the client running.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Next open
the Animals solution, build it, and copy the build output (Animals.dll) from the bin\Debug
folder into the client’s bin\Debug folder.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Edit the InterfaceBasedClient.exe.config
file through an editor, and uncomment the Dog type information as shown in the snippet
of config file above, save the file.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Hit the button
in the client again, you should see a standard Dog Bark (through a message box).&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Edit the config
file again, uncommenting the type information for a GermanShepherd (which is also
defined in the Animals assembly), and save.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Push the button
again and you will see that type is dynamically used from the already loaded assembly.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Go open the
Animals2 solution and build it.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Copy the Animals2.dll
from its bin\Debug folder into the bin\Debug folder for the client.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Edit the config
file for the client again to uncomment the type information for the Shitzu type, and
save.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;font color=#000000&gt;Click the
button in the client again and you should see all three types of dogs bark.&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=f9834693-e992-4bf1-9408-1ab8d2cb518c" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,f9834693-e992-4bf1-9408-1ab8d2cb518c.aspx</comments>
      <category>.NET</category>
      <category>Architecture</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=8776ec97-355c-4a9f-b8c3-901ffd524a23</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,8776ec97-355c-4a9f-b8c3-901ffd524a23.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,8776ec97-355c-4a9f-b8c3-901ffd524a23.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8776ec97-355c-4a9f-b8c3-901ffd524a23</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For the students from my recent class in Sweden, you can download all the demos I
did dynamically (as opposed to the ones you already have in your demos folder
and available on our site at <a href="http://www.idesign.net">www.idesign.net</a>)
from the following link:
</p>
        <p>
          <a href="http://www.softinsight.com/downloads/Linsoft05ClassDemos.zip">http://www.softinsight.com/downloads/Linsoft05ClassDemos.zip</a>
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=8776ec97-355c-4a9f-b8c3-901ffd524a23" />
      </body>
      <title>.NET Systems Programming class dynamic demos</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,8776ec97-355c-4a9f-b8c3-901ffd524a23.aspx</guid>
      <link>http://briannoyes.net/2005/11/20/NETSystemsProgrammingClassDynamicDemos.aspx</link>
      <pubDate>Sun, 20 Nov 2005 15:43:04 GMT</pubDate>
      <description>&lt;p&gt;
For the students from my recent class in Sweden, you can download all the demos I
did dynamically (as opposed to the ones you already have in&amp;nbsp;your demos folder
and available on our site at &lt;a href="http://www.idesign.net"&gt;www.idesign.net&lt;/a&gt;)
from the following link:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.softinsight.com/downloads/Linsoft05ClassDemos.zip"&gt;http://www.softinsight.com/downloads/Linsoft05ClassDemos.zip&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=8776ec97-355c-4a9f-b8c3-901ffd524a23" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,8776ec97-355c-4a9f-b8c3-901ffd524a23.aspx</comments>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=9f288f62-c155-445f-9655-660bdd98b220</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,9f288f62-c155-445f-9655-660bdd98b220.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,9f288f62-c155-445f-9655-660bdd98b220.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9f288f62-c155-445f-9655-660bdd98b220</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I gave two WCF (Indigo) talks at DevConnections today:
</p>
        <p>
Build Event Driven Applications with Indigo:   <a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections/BuildEventDrivenApplicationswithIndigo.pdf">Slides</a>   <a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fEventDrivenApplicationsDemos.zip">Demos</a></p>
        <p>
Connecting Smart Client Applications with Indigo:  <a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fConnectingSmartClientApplicationswithIndigo.pdf">Slides</a>   <a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fConnectingSmartClientsDemos.zip">Demos</a></p>
        <p>
In the Event Driven Applications session I cover creating list based subscription
services with direct callback services in the clients, using duplex channels to set
up callbacks, and a Pub-Sub implementation that gives loosely coupled events that
I will have more information on here in the near future.
</p>
        <p>
In the smart client session, I covered client concerns with respect to channel selection,
asynchronous calls, sessions, transactions, callbacks, security, and peer-to-peer.
</p>
        <p>
Good time!
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9f288f62-c155-445f-9655-660bdd98b220" />
      </body>
      <title>WCF Talks: Event Driven Applications and Connecting Smart Clients</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,9f288f62-c155-445f-9655-660bdd98b220.aspx</guid>
      <link>http://briannoyes.net/2005/11/11/WCFTalksEventDrivenApplicationsAndConnectingSmartClients.aspx</link>
      <pubDate>Fri, 11 Nov 2005 02:41:25 GMT</pubDate>
      <description>&lt;p&gt;
I gave two WCF (Indigo) talks at DevConnections today:
&lt;/p&gt;
&lt;p&gt;
Build Event Driven Applications with Indigo:&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections/BuildEventDrivenApplicationswithIndigo.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fEventDrivenApplicationsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Connecting Smart Client Applications with Indigo:&amp;nbsp; &lt;a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fConnectingSmartClientApplicationswithIndigo.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/bnoyes/ct.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f&amp;amp;url=http%3a%2f%2fwww.softinsight.com%2fdownloads%2fDevConnections%2fConnectingSmartClientsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In the Event Driven Applications session I cover creating list based subscription
services with direct callback services in the clients, using duplex channels to set
up callbacks, and a Pub-Sub implementation that gives loosely coupled events that
I will have more information on here in the near future.
&lt;/p&gt;
&lt;p&gt;
In the smart client session, I covered client concerns with respect to channel selection,
asynchronous calls, sessions, transactions, callbacks, security, and peer-to-peer.
&lt;/p&gt;
&lt;p&gt;
Good time!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=9f288f62-c155-445f-9655-660bdd98b220" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,9f288f62-c155-445f-9655-660bdd98b220.aspx</comments>
      <category>.NET</category>
      <category>DevConnections</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=70eec0be-72c8-4287-9b2d-3f75adbe1a1f</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,70eec0be-72c8-4287-9b2d-3f75adbe1a1f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,70eec0be-72c8-4287-9b2d-3f75adbe1a1f.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=70eec0be-72c8-4287-9b2d-3f75adbe1a1f</wfw:commentRss>
      <title>Secure ClickOnce Demployment Talk at DevConnections yesterday</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,70eec0be-72c8-4287-9b2d-3f75adbe1a1f.aspx</guid>
      <link>http://briannoyes.net/2005/11/11/SecureClickOnceDemploymentTalkAtDevConnectionsYesterday.aspx</link>
      <pubDate>Fri, 11 Nov 2005 02:33:37 GMT</pubDate>
      <description>&lt;p&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;My
second session of the day yesterday at DevConnections was on ClickOnce deployments,
and specifically the various security protections and options that ClickOnce offers
for preventing unauthorized applications from being able to run through a ClickOnce
launch.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;You can grab the
slides and demos here:&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/SecureSmartClientClickOnceDeployments.pdf"&gt;Slides&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/SecureClickOnceDemos.zip"&gt;Demos&lt;o:p&gt;&lt;/o:p&gt;
&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana"&gt;Some of the key
takeaways from this session were the following:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;ul type=disc&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;ClickOnce provides a simple, powerful,
and easy to use mechanism for deploying smart client applications with minimal maintenance
effort and IT Admin involvement&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;ClickOnce provides runtime security
protections through the Code Access Security (CAS) infrastructure of .NET to prevent
applications launched from ClickOnce from being granted permissions to perform any
operations or access any resources that the application was not specifically allowed
to do.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;ClickOnce app default permissions
are determined by the launch URL and how it maps to built-in CAS location-based code
groups (MyComputer, LocalIntranet, Internet, TrustedSites, UntrustedSites).&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;If the application manifest requests
permissions greater than those that would be granted based on the CAS location-based
code groups, permission elevation needs to occur. 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;By default, permissions can be
elevated in one of two ways: user prompting or trusted publishers.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;If an application is launched
through a link to a deployment manifest that is signed by a publisher certificate
that is not in the Trusted Publishers certificate store on the client machine, the
user will be prompted by default and can accept or reject the application. If they
accept it, the permissions for that application will be elevated to whatever permissions
the application manifest has requested.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: #003300; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;If an application is launched
that was signed with a publisher certificate that is in the client machine's Trusted
Publishers certificate store, then no user prompting will occur and the application
permissions will be automatically elevated to whatever the application manifest requests
because it is coming from a trusted source identified implicitly by IT admin when
they installed the publisher certificate in the Trusted Publishers store.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #003300; FONT-FAMILY: Verdana; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;If
you want to prevent the user from ever being prompted and only allow applications
from trusted publishers to be launched through ClickOnce (a good idea in an enterprise
environment), then you should create the registry key discussed in the slides from
the session and set the string values to Disabled for all the zones.&lt;/span&gt;&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=70eec0be-72c8-4287-9b2d-3f75adbe1a1f" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,70eec0be-72c8-4287-9b2d-3f75adbe1a1f.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>DevConnections</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=70acabc4-8554-43cc-8511-c2f6a2827942</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,70acabc4-8554-43cc-8511-c2f6a2827942.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,70acabc4-8554-43cc-8511-c2f6a2827942.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=70acabc4-8554-43cc-8511-c2f6a2827942</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just got finished doing my first talk here at DevConnections in Vegas and I think
it went pretty well. Great crowd, good questions, fun topic. 
</p>
        <p>
You can grab the slides and demos here: <a href="http://www.softinsight.com/downloads/DevConnections/BuildCustomDataBoundBusinessObjectsandCollections.pdf">Slides </a>  <a href="http://www.softinsight.com/downloads/DevConnections/DataBoundObjectsDemos.zip">Demos</a></p>
        <p>
The talk highlighted how to define custom objects and collections to make them suitable
for data binding, mostly for Windows Forms, but some of it is applicable to ASP.NET
as well.
</p>
        <p>
The key takeaways from the talk are:
</p>
        <ul>
          <li>
Implement INotifyPropertyChanged on any business entitity type you define that you
expect to use in data binding scenarios. This interface defines a contract for the
objects to raise PropertyChanged events whenever a property is set on the object.
It allows containing collections or bound controls to be notified when the contents
of the data object change, which helps with keeping controls synchronized in a form. 
</li>
          <li>
Use BindingList&lt;T&gt; to create strongly typed collections of objects that support
rich data binding. It provides full implementation of IList, ICollection, IEnumerable
and their generic strongly typed counterparts for whatever type parameter you provide,
and it provides a partial implementation of the IBindingList interface. The part that
it implements is firing ListChanged events when items are added or removed from the
collection. It also looks at the objects type that you provide as a type parameter,
and if it implements INotifyPropertyChanged, the collection will subscribe to the
PropertyChanged event on each object and raise ListChanged events with a change type
of PropertyChanged whenever the contents of an object in the collection change. These
features make BindingList&lt;T&gt; collections work seamlessly with data binding to
multiple controls and keeps the controls all in sync. 
</li>
          <li>
Use my BindingListView&lt;T&gt; class (in the demos and in my book) to get a generic
container that supports sorting (both IBindingList based single property sorts and
IBindingListView multi-property sorts), searching, and filtering.</li>
        </ul>
        <p>
If you were there at the end and saw the on-the-fly demo where I didn't see the saving
behavior that I thought I had just implemented, I tracked down the problem. the changes
were actually being saved. It was just the way I hooked up the data binding I wasn't
seeing those changes. 
</p>
        <p>
In the demo, I used the data sources window to generate a Details view (control collection)
bound to a collection of Album data. I changed one of the controls in the collection
which was bound to a GenreID property on the Album objects to a ComboBox. I then used
the Data Sources window to add data binidng to a Genre object collection to populate
the list of Genres in the combo box. This sets up the ComboBox to have its contents
determined by the Genre collection, but its SelectedValue property is bound to the
GenreID property on the current item in the Album collection - generally exactly what
you want to be able to edit a property on one object collection item through a lookup
list of values in another collection of objects. The problem was that after I selected
a new value in the combo box and saved the changes, then restarted the app, I wasn't
seeing the modified value set for the Album I was viewing in the other controls.
</p>
        <p>
It turns out the problem was just the order that I did the initial binding of the
control collection and the combobox BindingSources. In the form load I had added the
following two lines of code to bind the control collection and the combo box binding
sources:
</p>
        <p>
albumBindingSource.DataSource = <font color="#008080">Album</font><font size="4"><font size="2">.GetAlbums();<br />
genreBindingSource.DataSource = <font color="#008080">Genre</font>.GetGenres();</font></font></p>
        <p>
          <font size="4">
            <font size="2">The problem is that when you set the DataSource, that
is when it intializes the bound controls. So I was initializing the data bindings
for all of the controls based on the album data, then intializing the combo box of
Genres with a new set of data. That set the SelectedIndex of the ComboBox back to
zero, so I wasn't seeing the actual value of the Genre for the current Album, I was
just seeing the first Genre value in the Genre collection. The fix is simply to do
the initial binding in the reverse order:</font>
          </font>
        </p>
        <font size="4">
          <font size="2">
            <p>
              <font size="4">
                <font size="2">genreBindingSource.DataSource = <font color="#008080">Genre</font>.GetGenres();<br />
albumBindingSource.DataSource = <font color="#008080">Album</font><font size="4"><font size="2">.GetAlbums();</font></font></font>
              </font>
            </p>
            <p>
Then it works as expected.
</p>
            <p>
Some resources I mentioned in the talk, as well as some additional ones I gave related
to after-session questions:
</p>
            <p>
My Book: Data Binding in Windows Forms 2.0, Addison Wesley, January 2006<br /><a href="http://www.amazon.com/exec/obidos/ASIN/032126892X/qid%3D1124482085/sr%3D11-1/ref%3Dsr%5F11%5F1/102-3039504-6850510">http://www.amazon.com/exec/obidos/ASIN/032126892X/qid%3D1124482085/sr%3D11-1/ref%3Dsr%5F11%5F1/102-3039504-6850510</a><br />
Rocky Lhotka binding refresh problem post:<br /><a href="http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=d8306469-7e76-4734-9811-777498808b85">http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=d8306469-7e76-4734-9811-777498808b85</a><br />
Rocky Lhotka article on binding to business objects: Windows Forms Object Data Binding
in .NET 2.0, 15seconds.com, <a href="http://www.15seconds.com/issue/040614.htm">http://www.15seconds.com/issue/040614.htm</a><br />
My recent article on The Server Side .NET: Build a Data Access Layer with the Visual
Studio DataSet Designer, The Server Side .NET, Oct 2005, <a href="http://www.theserverside.net/articles/showarticle.tss?id=DataSetDesigner">http://www.theserverside.net/articles/showarticle.tss?id=DataSetDesigner</a><br />
My recent article in CoDe magazine: Tackle Complex Data Binding in Windows Forms 2.0,
CoDe Magazine, July/Aug 2005, <a href="http://www.code-magazine.com/Article.aspx?quickid=0507051">http://www.code-magazine.com/Article.aspx?quickid=0507051</a><font size="4"><font size="2"><font size="4"><font size="2"></font></font></font></font></p>
          </font>
        </font>
        <p>
          <span style="FONT-SIZE: 111%; COLOR: #ffff66">
            <font color="#000000">Enjoy!</font>
          </span>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=70acabc4-8554-43cc-8511-c2f6a2827942" />
      </body>
      <title>Build Custom Data Bound Business Objects and Collections Talk at DevConnections this morning</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,70acabc4-8554-43cc-8511-c2f6a2827942.aspx</guid>
      <link>http://briannoyes.net/2005/11/09/BuildCustomDataBoundBusinessObjectsAndCollectionsTalkAtDevConnectionsThisMorning.aspx</link>
      <pubDate>Wed, 09 Nov 2005 20:26:45 GMT</pubDate>
      <description>&lt;p&gt;
I just got finished doing my first talk here at DevConnections in Vegas and I think
it went pretty well. Great crowd, good questions, fun topic. 
&lt;/p&gt;
&lt;p&gt;
You can grab the slides and demos here: &lt;a href="http://www.softinsight.com/downloads/DevConnections/BuildCustomDataBoundBusinessObjectsandCollections.pdf"&gt;Slides&amp;nbsp;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.softinsight.com/downloads/DevConnections/DataBoundObjectsDemos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The talk highlighted how to define custom objects and collections to make them suitable
for data binding, mostly for Windows Forms, but some of it is applicable to ASP.NET
as well.
&lt;/p&gt;
&lt;p&gt;
The key takeaways from the talk are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Implement INotifyPropertyChanged on any business entitity type you define that you
expect to use in data binding scenarios. This interface defines a contract for the
objects to raise PropertyChanged events whenever a property is set on the object.
It allows containing collections or bound controls to be notified when the contents
of the data object change, which helps with keeping controls synchronized in a form. 
&lt;li&gt;
Use BindingList&amp;lt;T&amp;gt; to create strongly typed collections of objects that support
rich data binding. It provides full implementation of IList, ICollection, IEnumerable
and their generic strongly typed counterparts for whatever type parameter you provide,
and it provides a partial implementation of the IBindingList interface. The part that
it implements is firing ListChanged events when items are added or removed from the
collection. It also looks at the objects type that you provide as a type parameter,
and if it implements INotifyPropertyChanged, the collection will subscribe to the
PropertyChanged event on each object and raise ListChanged events with a change type
of PropertyChanged whenever the contents of an object in the collection change. These
features make BindingList&amp;lt;T&amp;gt; collections work seamlessly with data binding to
multiple controls and keeps the controls all in sync. 
&lt;li&gt;
Use my BindingListView&amp;lt;T&amp;gt; class (in the demos and in my book) to get a generic
container that supports sorting (both IBindingList based single property sorts and
IBindingListView multi-property sorts), searching, and filtering.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you were there at the end and saw the on-the-fly demo where I didn't see the saving
behavior that I thought I had just implemented, I tracked down the problem. the changes
were actually being saved. It was just the way I hooked up the data binding I wasn't
seeing those changes. 
&lt;/p&gt;
&lt;p&gt;
In the demo, I used the data sources window to generate a Details view (control collection)
bound to a collection of Album data. I changed one of the controls in the collection
which was bound to a GenreID property on the Album objects to a ComboBox. I then used
the Data Sources window to add data binidng to a Genre object collection to populate
the list of Genres in the combo box. This sets up the ComboBox to have its contents
determined by the Genre collection, but its SelectedValue property is bound to the
GenreID property on the current item in the Album collection - generally exactly what
you want to be able to edit a property on one object collection item through a lookup
list of values in another collection of objects. The problem was that after I selected
a new value in the combo box and saved the changes, then restarted the app, I wasn't
seeing the modified value set for the Album I was viewing in the other controls.
&lt;/p&gt;
&lt;p&gt;
It turns out the problem was just the order that I did the initial binding of the
control collection and the combobox BindingSources. In the form load I had added the
following two lines of code to bind the control collection and the combo box binding
sources:
&lt;/p&gt;
&lt;p&gt;
albumBindingSource.DataSource = &lt;font color=#008080&gt;Album&lt;/font&gt;&lt;font size=4&gt;&lt;font size=2&gt;.GetAlbums();&lt;br&gt;
genreBindingSource.DataSource = &lt;font color=#008080&gt;Genre&lt;/font&gt;.GetGenres();&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=4&gt;&lt;font size=2&gt;The problem is that when you set the DataSource, that is
when it intializes the bound controls. So I was initializing the data bindings for
all of the controls based on the album data, then intializing the combo box of Genres
with a new set of data. That set the SelectedIndex of the ComboBox back to zero, so
I wasn't seeing the actual value of the Genre for the current Album, I was just seeing
the first Genre value in the Genre collection. The fix is simply to do the initial
binding in the reverse order:&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;font size=4&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;font size=4&gt;&lt;font size=2&gt;genreBindingSource.DataSource = &lt;font color=#008080&gt;Genre&lt;/font&gt;.GetGenres();&lt;br&gt;
albumBindingSource.DataSource = &lt;font color=#008080&gt;Album&lt;/font&gt;&lt;font size=4&gt;&lt;font size=2&gt;.GetAlbums();&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Then it works as expected.
&lt;/p&gt;
&lt;p&gt;
Some resources I mentioned in the talk, as well as some additional ones I gave related
to after-session questions:
&lt;/p&gt;
&lt;p&gt;
My Book: Data Binding in Windows Forms 2.0, Addison Wesley, January 2006&lt;br&gt;
&lt;a href="http://www.amazon.com/exec/obidos/ASIN/032126892X/qid%3D1124482085/sr%3D11-1/ref%3Dsr%5F11%5F1/102-3039504-6850510"&gt;http://www.amazon.com/exec/obidos/ASIN/032126892X/qid%3D1124482085/sr%3D11-1/ref%3Dsr%5F11%5F1/102-3039504-6850510&lt;/a&gt; 
&lt;br&gt;
Rocky Lhotka binding refresh problem post:&lt;br&gt;
&lt;a href="http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=d8306469-7e76-4734-9811-777498808b85"&gt;http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=d8306469-7e76-4734-9811-777498808b85&lt;/a&gt; 
&lt;br&gt;
Rocky Lhotka article on binding to business objects: Windows Forms Object Data Binding
in .NET 2.0, 15seconds.com, &lt;a href="http://www.15seconds.com/issue/040614.htm"&gt;http://www.15seconds.com/issue/040614.htm&lt;/a&gt; 
&lt;br&gt;
My recent article on The Server Side .NET: Build a Data Access Layer with the Visual
Studio DataSet Designer, The Server Side .NET, Oct 2005, &lt;a href="http://www.theserverside.net/articles/showarticle.tss?id=DataSetDesigner"&gt;http://www.theserverside.net/articles/showarticle.tss?id=DataSetDesigner&lt;/a&gt; 
&lt;br&gt;
My recent article in CoDe magazine: Tackle Complex Data Binding in Windows Forms 2.0,
CoDe Magazine, July/Aug 2005, &lt;a href="http://www.code-magazine.com/Article.aspx?quickid=0507051"&gt;http://www.code-magazine.com/Article.aspx?quickid=0507051&lt;/a&gt; &lt;font size=4&gt;&lt;font size=2&gt;&lt;font size=4&gt;&lt;font size=2&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&gt;&gt; 
&lt;p&gt;
&lt;span style="FONT-SIZE: 111%; COLOR: #ffff66"&gt;&lt;font color=#000000&gt;Enjoy!&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&gt;&gt;&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=70acabc4-8554-43cc-8511-c2f6a2827942" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,70acabc4-8554-43cc-8511-c2f6a2827942.aspx</comments>
      <category>.NET</category>
      <category>Data Binding</category>
      <category>DevConnections</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=0a11df39-72f7-47fb-a0a8-7222e0c8d19c</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,0a11df39-72f7-47fb-a0a8-7222e0c8d19c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,0a11df39-72f7-47fb-a0a8-7222e0c8d19c.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=0a11df39-72f7-47fb-a0a8-7222e0c8d19c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm catching a flight early tomorrow morning to Vegas for <a href="http://www.vsconnections.com">VS
Connections </a>and am really looking forward to it. VS Connections in particular,
and <a href="http://www.devconnections.com">DevConnections</a> in general (the overall
conference event) is well run, in great locations, and always has a lot of great content
that I can benefit from as well.
</p>
        <p>
I've been spending most of my recent prep time fine tuning the demos for my two WCF
sessions, Build Event Driven Applications with Indigo and Connecting Smart Client
Applications with Indigo. The more I work with Windows Communications Foundation (aka
"Indigo"), I am struck by a number of things:
</p>
        <ul>
          <li>
I am impressed by how capable Indigo is. 
</li>
          <li>
I am awed by how elegant and simple solutions are to complex aspects like security,
transactions, queuing, callbacks, and so on. 
</li>
          <li>
I am dumbfounded by how hard it is to figure out how to get to those elegant and simple
solutions.</li>
        </ul>
        <p>
The last bullet is not really a criticism of what they have come up with, it is just
the nature of the beast. I would draw on an analogy <a href="http://www.softinsight.com/LifeBeforeProgramming.aspx">from
my flying days </a>to explain why this is so. Imagine the cockpit of a WW I fighter
aircraft. You probably have half a dozen or less simple dials and gauges, and a stick
and throttle. Imagine trying to use that set of controls on an aircraft that can fly
at high subsonic speeds at high altitude carrying hundreds of passengers for 12 hour
transoceanic flights. Not going to work too well. This is basically where you were
at with past technologies to build complex, distributed, heterogenous, connected enterprise
systems. It could be done, but the end result was not going to be pretty and it was
going to take you a long time to get there.
</p>
        <p>
Now with WCF, it is more like climbing into the <a href="http://www.militaryfactory.com/cockpits/777_cockpit.asp">cockpit
of a 777</a>. There is a technological elegance to everything that is there. But there
are still hundreds (if not thousands) of individual switches, controls, displays,
electronic gages and dials, menu driven control panels, etc. A great deal of human
engineering has gone into everything that is in there so that for any given common
task, there are only a couple of relevant controls that you have to touch and put
into place to get the job done. The challenge is in knowing which one of those hundreds
of knobs and dials to tweak.
</p>
        <p>
The same is true for WCF. Microsoft has created an incredibly powerful and technologically
advanced platform that is well adapted to building large distributed enterprise systems.
In order to do that, there needs to be hundreds of switches and knobs that you can
throw to address different scenarios. The downside to that is bullet number three
above - you have to learn which switches and knobs are relevant for a given task,
and in what order to throw them.
</p>
        <p>
This is somewhat aggravated right now in that we are only at Beta 1 of WinFx (and
its parts WCF, WPF, and WinWF), and the names, shapes, and locations of all the knobs
and switches is constantly changing as they work on that human engineering task of
trying to make it easier to use. Meanwhile the documentation and samples are seriously
lagging, so working with it right now is a little like stepping into that 777 cockpit
without any labels on the controls. When you say to yourself, "I just need transactions
and certificate based security", it is kind of like saying "I just need to call the
flight attendant at the second aft flight station". Simple to describe, but God help
you in figuring out which switches and knobs to throw. At least there are not really
any destructive ones that you can throw by accident. If you get it wrong, your app
may not work, but you would have to go out of your way to write some code that would
do bad things when WCF fails to let you communicate.
</p>
        <p>
I'm looking forward to continuing to work with this technology and learn what all
those knobs and buttons are for. Learning all the controls of the aft cockpit of the
F-14 to run the weapons system, navigation systems, communications systems, and other
tasks was one of the funnest things I have done in my life. The fact that we got to
do that while strapped to a couple of 50K lb + of thrust zorching through the sky
pulling G's and landing on the carrier certainly helped make it interesting. Sitting
at a computer leaves a little to be desired in that department, but the learning challenge
is still just as fun.
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=0a11df39-72f7-47fb-a0a8-7222e0c8d19c" />
      </body>
      <title>Las Vegas Bound - Impressions of WCF</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,0a11df39-72f7-47fb-a0a8-7222e0c8d19c.aspx</guid>
      <link>http://briannoyes.net/2005/11/08/LasVegasBoundImpressionsOfWCF.aspx</link>
      <pubDate>Tue, 08 Nov 2005 07:13:55 GMT</pubDate>
      <description>&lt;p&gt;
I'm catching a flight early tomorrow morning to Vegas for &lt;a href="http://www.vsconnections.com"&gt;VS
Connections &lt;/a&gt;and am really looking forward to it. VS Connections in particular,
and &lt;a href="http://www.devconnections.com"&gt;DevConnections&lt;/a&gt; in general (the overall
conference event) is well run, in great locations, and always has a lot of great content
that I can benefit from as well.
&lt;/p&gt;
&lt;p&gt;
I've been spending most of my recent prep time fine tuning the demos for my two WCF
sessions, Build Event Driven Applications with Indigo and Connecting Smart Client
Applications with Indigo. The more I work with Windows Communications Foundation (aka
"Indigo"), I am struck by a number of things:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
I am impressed by how capable Indigo is. 
&lt;li&gt;
I am awed by how elegant and simple solutions are to complex aspects like security,
transactions, queuing, callbacks, and so on. 
&lt;li&gt;
I am dumbfounded by how hard it is to figure out how to get to those elegant and simple
solutions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The last bullet is not really a criticism of what they have come up with, it is just
the nature of the beast. I would draw on an analogy &lt;a href="http://www.softinsight.com/LifeBeforeProgramming.aspx"&gt;from
my flying days &lt;/a&gt;to explain why this is so. Imagine the cockpit of a WW I fighter
aircraft. You probably have half a dozen or less simple dials and gauges, and a stick
and throttle. Imagine trying to use that set of controls on an aircraft that can fly
at high subsonic speeds at high altitude carrying hundreds of passengers for 12 hour
transoceanic flights. Not going to work too well. This is basically where you were
at with past technologies to build complex, distributed, heterogenous, connected&amp;nbsp;enterprise
systems. It could be done, but the end result was not going to be pretty and it was
going to take you a long time to get there.
&lt;/p&gt;
&lt;p&gt;
Now with WCF, it is more like climbing into the &lt;a href="http://www.militaryfactory.com/cockpits/777_cockpit.asp"&gt;cockpit
of a 777&lt;/a&gt;. There is a technological elegance to everything that is there. But there
are still hundreds (if not thousands) of individual switches, controls, displays,
electronic gages and dials, menu driven control panels, etc. A great deal of human
engineering has gone into everything that is in there so that for any given common
task, there are only a couple of relevant controls that you have to touch and put
into place to get the job done. The challenge is in knowing which one of those hundreds
of knobs and dials to tweak.
&lt;/p&gt;
&lt;p&gt;
The same is true for WCF. Microsoft has created an incredibly powerful and technologically
advanced platform that is well adapted to building large distributed enterprise systems.
In order to do that, there needs to be hundreds of switches and knobs that you can
throw to address different scenarios. The downside to that is bullet number three
above - you have to learn which switches and knobs are relevant for a given task,
and in what order to throw them.
&lt;/p&gt;
&lt;p&gt;
This is somewhat aggravated right now in that we are only at Beta 1 of WinFx (and
its parts WCF, WPF, and WinWF), and the names, shapes, and locations of all the knobs
and switches is constantly changing as they work on that human engineering task of
trying to make it easier to use. Meanwhile the documentation and samples are seriously
lagging, so working with it right now is a little like stepping into that 777 cockpit
without any labels on the controls. When you say to yourself, "I just need transactions
and certificate based security", it is kind of like saying "I just need to call the
flight attendant at the second aft flight station". Simple to describe, but God help
you in figuring out which switches and knobs to throw. At least there are not really
any destructive ones that you can throw by accident. If you get it wrong, your app
may not work, but you would have to go out of your way to write some code that would
do bad things when WCF fails to let you communicate.
&lt;/p&gt;
&lt;p&gt;
I'm looking forward to continuing to work with this technology and learn what all
those knobs and buttons are for. Learning all the controls of the aft cockpit of the
F-14 to run the weapons system, navigation systems, communications systems, and other
tasks was one of the funnest things I have done in my life. The fact that we got to
do that while strapped to a couple of 50K lb + of thrust zorching through the sky
pulling G's and landing on the carrier certainly helped make it interesting. Sitting
at a computer leaves a little to be desired in that department, but the learning challenge
is still just as fun.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=0a11df39-72f7-47fb-a0a8-7222e0c8d19c" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,0a11df39-72f7-47fb-a0a8-7222e0c8d19c.aspx</comments>
      <category>.NET</category>
      <category>Architecture</category>
      <category>DevConnections</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>Travel</category>
      <category>WinFx</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=69fc7632-be37-4dde-8290-6c9aa4e57fc4</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,69fc7632-be37-4dde-8290-6c9aa4e57fc4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,69fc7632-be37-4dde-8290-6c9aa4e57fc4.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=69fc7632-be37-4dde-8290-6c9aa4e57fc4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'll be speaking at <a href="http://www.vsconnections.com">Visual Studio Connections </a>(part
of <a href="http://www.devconnections.com">DevConnections</a>) in Las Vegas from 5-8
November. This is a great and growing conference that happens twice annually in the
US, usually Orlando in the spring and Las Vegas in the fall, that I have been privileged
to speak at for the last couple years. If you haven't been to one yet, you ought to
be hammering your boss for permisson/funding to attend for the following reasons:
</p>
        <ul>
          <li>
It will rapidly and time-effectively expose you to new solution technologies you might
not get a chance to explore on your own 
</li>
          <li>
You will get concentrated advanced training in current and future technologies, getting
you up to speed on them in far less time than you can achieve on your own 
</li>
          <li>
You will get presentations from the top speakers in the business 
</li>
          <li>
You will get a chance to network with peers in the industry, learn from others experiences
employing .NET technologies, which will make you more effective at employing them
yourself 
</li>
          <li>
You will have a lot of fun (OK, maybe don't tell your boss this...)</li>
        </ul>
        <p>
You can learn a lot peripherally from the conference too by reading the <a href="http://aspadvice.com/blogs/devconnections/default.aspx">DevConnections
blog here</a>. There are posts from other speakers as they develop their talks and
their own observations and experiences at the conference.
</p>
        <p>
I'll be presenting the following sessions:
</p>
        <p>
          <strong>VSM356: Build Custom Data Bound Business Objects and Collections</strong>
          <br />
          <strong>VSM351: Secure Smart Client ClickOnce Deployments</strong>
          <br />
          <strong>VID306: Build Event-Driven Applications with Indigo</strong>
          <br />
          <strong>VID309: Connect Smart Client Applications with Indigo</strong>
        </p>
        <p>
If you make it to the show (and you should!!), stop by and say hi!
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=69fc7632-be37-4dde-8290-6c9aa4e57fc4" />
      </body>
      <title>Upcoming DevConnections Talks</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,69fc7632-be37-4dde-8290-6c9aa4e57fc4.aspx</guid>
      <link>http://briannoyes.net/2005/10/24/UpcomingDevConnectionsTalks.aspx</link>
      <pubDate>Mon, 24 Oct 2005 20:48:04 GMT</pubDate>
      <description>&lt;p&gt;
I'll be speaking at &lt;a href="http://www.vsconnections.com"&gt;Visual Studio Connections &lt;/a&gt;(part
of &lt;a href="http://www.devconnections.com"&gt;DevConnections&lt;/a&gt;) in Las Vegas from 5-8
November. This is a great and growing conference that happens twice annually in the
US, usually Orlando in the spring and Las Vegas in the fall, that I have been privileged
to speak at for the last couple years. If you haven't been to one yet, you ought to
be hammering your boss for permisson/funding to attend for the following reasons:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
It will rapidly and time-effectively expose you to new solution technologies you might
not get a chance to explore on your own 
&lt;li&gt;
You will get concentrated advanced training in current and future technologies, getting
you up to speed on them in far less time than you can achieve on your own 
&lt;li&gt;
You will get presentations from the top speakers in the business 
&lt;li&gt;
You will get a chance to network with peers in the industry, learn from others experiences
employing .NET technologies, which will make you more effective at employing them
yourself 
&lt;li&gt;
You will have a lot of fun (OK, maybe don't tell your boss this...)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
You can learn a lot peripherally from the conference too by reading the &lt;a href="http://aspadvice.com/blogs/devconnections/default.aspx"&gt;DevConnections
blog here&lt;/a&gt;. There are posts from other speakers as they develop their talks and
their own observations and experiences at the conference.
&lt;/p&gt;
&lt;p&gt;
I'll be presenting the following sessions:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;VSM356:&amp;nbsp;Build Custom Data Bound Business Objects and Collections&lt;/strong&gt;
&lt;br&gt;
&lt;strong&gt;VSM351:&amp;nbsp;Secure Smart Client ClickOnce Deployments&lt;/strong&gt;
&lt;br&gt;
&lt;strong&gt;VID306:&amp;nbsp;Build Event-Driven Applications with Indigo&lt;/strong&gt;
&lt;br&gt;
&lt;strong&gt;VID309:&amp;nbsp;Connect Smart Client Applications with Indigo&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If you make it to the show (and you should!!), stop by and say hi!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=69fc7632-be37-4dde-8290-6c9aa4e57fc4" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,69fc7632-be37-4dde-8290-6c9aa4e57fc4.aspx</comments>
      <category>.NET</category>
      <category>Architecture</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
      <category>DevConnections</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=5652c644-212c-44f9-b640-ca7747c91e97</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,5652c644-212c-44f9-b640-ca7747c91e97.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,5652c644-212c-44f9-b640-ca7747c91e97.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5652c644-212c-44f9-b640-ca7747c91e97</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've got two MSDN Webcasts coming up at the end of November, both part of the "Best
Of" series that they are doing surrounding the launch of VS 2005 for those Webcasts
focused on .NET 2.0 and VS 2005 that got the highest scores in the last year.
</p>
        <p>
You can <a href="http://go.microsoft.com/?linkid=4078253">click through here </a>to
get to the webcasts:
</p>
        <p>
          <a href="http://go.microsoft.com/?linkid=4078253">
            <img alt="Click Through for Webcasts" hspace="0" src="C:\Documents and Settings\Brian Noyes\Desktop\msdnwebcast.jpg" align="baseline" border="0" />
          </a>
        </p>
        <p>
The two I am giving will both be on 29 November:
</p>
        <p>
Presenting Rich Rich Tabular Data with the DataGridView Control<br /><strong>Tuesday, November 29, 2005<br /></strong><i>10:00 A.M.–11:00 A.M. Pacific Time</i></p>
        <p>
Deploy Smart Client Applications with ClickOnce<br /><strong>Tuesday, November 29, 2005<br /></strong><i>1:00 P.M.–2:00 P.M. Pacific Time</i></p>
        <p>
          <em>Check them out!!</em>
        </p>
        <img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=5652c644-212c-44f9-b640-ca7747c91e97" />
      </body>
      <title>Two Upcoming MSDN Webcasts: Part of the "Best Of" Series</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,5652c644-212c-44f9-b640-ca7747c91e97.aspx</guid>
      <link>http://briannoyes.net/2005/10/24/TwoUpcomingMSDNWebcastsPartOfTheBestOfSeries.aspx</link>
      <pubDate>Mon, 24 Oct 2005 17:59:35 GMT</pubDate>
      <description>&lt;p&gt;
I've got two MSDN Webcasts coming up at the end of November, both part of the "Best
Of" series that they are doing surrounding the launch of VS 2005 for those Webcasts
focused on .NET 2.0 and VS 2005 that got the highest scores in the last year.
&lt;/p&gt;
&lt;p&gt;
You can &lt;a href="http://go.microsoft.com/?linkid=4078253"&gt;click through here &lt;/a&gt;to
get to the webcasts:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://go.microsoft.com/?linkid=4078253"&gt;&lt;img alt="Click Through for Webcasts" hspace=0 src="C:\Documents and Settings\Brian Noyes\Desktop\msdnwebcast.jpg" align=baseline border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The two I am giving will both be on 29 November:
&lt;/p&gt;
&lt;p&gt;
Presenting Rich Rich Tabular Data with the DataGridView Control&lt;br&gt;
&lt;strong&gt;Tuesday, November 29, 2005&lt;br&gt;
&lt;/strong&gt;&lt;i&gt;10:00 A.M.–11:00 A.M.&amp;nbsp;Pacific Time&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
Deploy Smart Client Applications with ClickOnce&lt;br&gt;
&lt;strong&gt;Tuesday, November 29, 2005&lt;br&gt;
&lt;/strong&gt;&lt;i&gt;1:00 P.M.–2:00 P.M.&amp;nbsp;Pacific Time&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Check them out!!&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=5652c644-212c-44f9-b640-ca7747c91e97" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,5652c644-212c-44f9-b640-ca7747c91e97.aspx</comments>
      <category>.NET</category>
      <category>ClickOnce</category>
      <category>Community</category>
      <category>Data Binding</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://briannoyes.net/Trackback.aspx?guid=8f5d9366-7a97-40b0-baa4-8acacf427edc</trackback:ping>
      <pingback:server>http://briannoyes.net/pingback.aspx</pingback:server>
      <pingback:target>http://briannoyes.net/PermaLink,guid,8f5d9366-7a97-40b0-baa4-8acacf427edc.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://briannoyes.net/CommentView,guid,8f5d9366-7a97-40b0-baa4-8acacf427edc.aspx</wfw:comment>
      <wfw:commentRss>http://briannoyes.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8f5d9366-7a97-40b0-baa4-8acacf427edc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">We just got a new site up and running for
IDesign. You can check it out at <a href="http://www.idesign.net">http://www.idesign.net</a>.
Much nicer look and feel, and a lot easier to access the many resources we have
available there, such as our <a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&amp;tabid=11">download
library</a>, <a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=-1&amp;tabid=9#Noyes">articles</a>,
events on the <a href="http://www.idesign.net">homepage</a>, and <a href="http://www.idesign.net/idesign/events.xml">RSS
feeds </a>for dynamic content like events.<img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=8f5d9366-7a97-40b0-baa4-8acacf427edc" /></body>
      <title>IDesign Site Facelift</title>
      <guid isPermaLink="false">http://briannoyes.net/PermaLink,guid,8f5d9366-7a97-40b0-baa4-8acacf427edc.aspx</guid>
      <link>http://briannoyes.net/2005/10/24/IDesignSiteFacelift.aspx</link>
      <pubDate>Mon, 24 Oct 2005 17:42:37 GMT</pubDate>
      <description>We just got a new site up and running for IDesign. You can check it out at &lt;a href="http://www.idesign.net"&gt;http://www.idesign.net&lt;/a&gt;.
Much nicer look and feel, and a lot&amp;nbsp;easier to access the many resources we have
available there, such as our &lt;a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&amp;amp;tabid=11"&gt;download
library&lt;/a&gt;, &lt;a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=-1&amp;amp;tabid=9#Noyes"&gt;articles&lt;/a&gt;,
events on the &lt;a href="http://www.idesign.net"&gt;homepage&lt;/a&gt;, and &lt;a href="http://www.idesign.net/idesign/events.xml"&gt;RSS
feeds &lt;/a&gt;for dynamic content like events.&lt;img width="0" height="0" src="http://briannoyes.net/aggbug.ashx?id=8f5d9366-7a97-40b0-baa4-8acacf427edc" /&gt;</description>
      <comments>http://briannoyes.net/CommentView,guid,8f5d9366-7a97-40b0-baa4-8acacf427edc.aspx</comments>
      <category>.NET</category>
      <category>Community</category>
      <category>Languages and Tools</category>
      <category>Speaking</category>
    </item>
  </channel>
</rss>