<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://aspadvice.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Nathan Duchene</title><link>http://aspadvice.com/blogs/nathan_duchene/default.aspx</link><description>Don't worry, I'll pretend like I know what I'm talking about...</description><dc:language>en</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>Pittsburgh Code Camp 2009</title><link>http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx</link><pubDate>Mon, 06 Apr 2009 19:33:00 GMT</pubDate><guid isPermaLink="false">e709ad4c-0c15-48eb-915e-c462c6e85445:51983</guid><dc:creator>nduchene</dc:creator><slash:comments>0</slash:comments><comments>http://aspadvice.com/blogs/nathan_duchene/comments/51983.aspx</comments><wfw:commentRss>http://aspadvice.com/blogs/nathan_duchene/commentrss.aspx?PostID=51983</wfw:commentRss><description>&lt;p&gt;This past Saturday, 4/4/09, I attended my first &lt;a href="http://aspadvice.com/ControlPanel/Blogs/www.codecamppgh.com" title="Pittsburgh Code Camp"&gt;Pittsburgh
Code Camp&lt;/a&gt;.&amp;nbsp; Not only was it my first Code
Camp, I was also a speaker this year with &lt;a href="http://aspadvice.com/ControlPanel/Blogs/www.rjdudley.com/blog" title="Rich Dudley&amp;#39;s Blog" target="_blank"&gt;Rich Dudley&lt;/a&gt;, &lt;a href="http://aspadvice.com/ControlPanel/Blogs/www.shauneutsey.com" title="Shawn Eutsey&amp;#39;s Blog" target="_blank"&gt;Shaun Eutsey&lt;/a&gt;, and Matt
Stultz.&amp;nbsp; This year&amp;#39;s presentation was
called &amp;lsquo;Squawking in the Cloud&amp;#39;, which was to be a Silverlight chat application
hosted in Microsoft&amp;#39;s cloud (Azure), incorporating SQL Server Data Services to
hold our data and using WCF &amp;amp; Web Services to get and put the data into the
cloud.&lt;/p&gt;

&lt;p&gt;Let me be the first to say that Azure is definitely not in a
production form yet (actually, I&amp;#39;m sure the other guys I spoke with already
made mention of this in their blogs).&amp;nbsp;
Over the past month, as we developed, we found many bugs/workarounds.&amp;nbsp; In our application&amp;#39;s most primitive pieces,
everything worked great.&amp;nbsp; My piece of the
presentation was on the Silverlight application.&amp;nbsp; The Silverlight front end was very simple and
probably could have been coded in less than an hour once I made up my mind on
what I wanted to do.&amp;nbsp; Matt created the
WCF &amp;amp; Web Services, which were working fine when communicating with the
SQLEXPRESS instance on his machine.&amp;nbsp; Rich
was going to do a middle piece using Workflow Foundation (an afterthought, but
would have been really nice functionality).&amp;nbsp;
Shaun&amp;#39;s duty was learning Azure and making sure we would be able to host
everything in the cloud.&lt;/p&gt;

&lt;p&gt;Everything was built and working as separate pieces by the
Wednesday prior to the Code Camp (Rich&amp;#39;s piece was on hold as he was helping
with some of the prep work of the separate pieces).&amp;nbsp; We met to put all of these pieces together on
Wednesday and started to immediately run into issues.&amp;nbsp; First issue - we couldn&amp;#39;t obtain a seat in
the SQL Server Data Services in the cloud.&amp;nbsp;
No problem, we decided to just use Azure Table Storage.&amp;nbsp; It would work well enough for demo
purposes.&amp;nbsp; That put us a little behind
(actually, it was a pretty devastating blow considering it was the driving
force behind the application).&amp;nbsp; Thursday
night was spent reconfiguring the Web Services to talk with Azure Table Storage.&lt;/p&gt;

&lt;p&gt;Next comes Friday night, and with the presentation the
following day, we set our goal to get everything working together.&amp;nbsp; After finishing up some minor details, we
started on this task.&amp;nbsp; The Web Service
was working fine outside of the &amp;lsquo;cloud&amp;#39; (as mentioned before), but we could not
get it to work once hosted in the &amp;lsquo;cloud&amp;#39;.&amp;nbsp;
After 5 hours of researching and trying different things, Rich, Matt,
and Shaun stumbled across one single blog mentioning that there is a &amp;lsquo;not-so-well
known&amp;#39; bug with WCF in the cloud getting the WSDL after calling the service
(again, only one person has blogged about it so far).&amp;nbsp; The workaround was listed, which we followed,
and all seemed to be working again (it was an odd workaround, obviously
temporary, and something that we did not necessarily need to present to the
group).&amp;nbsp; This took about 5 hours Friday
night to find and fix, taking us into the early hours of the morning.&amp;nbsp; Code Camp registration started at 8am, it was
already 1:30am, and most of us had a 45+ minute drive home and a 1+ hour drive
to the University of Pittsburgh where the Code Camp was held.&amp;nbsp; We called it a night and decided to finish it
up the next morning prior to the presentation.&amp;nbsp;
&lt;/p&gt;

&lt;p&gt;Saturday morning, we all immediately met in the speaker&amp;#39;s
lounge, opened up the laptops, and started back at it.&amp;nbsp; The first call to the web service failed, as
did every other one following.&amp;nbsp; Our Web
Service was going to return XML, but was not working.&amp;nbsp; Thinking it was the code, we started ripping
it apart, piece by piece, trying to find the issue.&amp;nbsp; Ran a few tests and found out that we could
return a string from the cloud.&amp;nbsp; This was
good news, but the bad news was that we were presenting in less than an
hour.&amp;nbsp; We reconfigured the Web Services
once again to pass a string of XML.&amp;nbsp; &amp;nbsp;We put 2 + 2 together and contributed this bug
to the same issue as the WSDL problem since the WSDL also returns as an XML.&lt;/p&gt;

&lt;p&gt;Now, with 20-25 minutes before the presentation, it was time
to try &amp;amp; link it with the Silverlight application.&amp;nbsp; It didn&amp;#39;t happen.&amp;nbsp; We were up in the room until 3 minutes prior
to speaking and arrived just as the presentation started.&amp;nbsp; I went out in the hallway with Rich to see if
there was any last minute coding I could do to get it to work (see Rich&amp;#39;s blog,
there&amp;#39;s a nice picture of me laying on the floor just outside the classroom
hammering away on the keyboard in a last-ditch-effort to get it to work).&amp;nbsp; Mission unsuccessful.&amp;nbsp; As &amp;nbsp;Shaun, Matt, and Rich spoke on the other
pieces, I re-wrote my presentation in my head to show a high-level overview of
Silverlight &amp;amp; try to make the failure transparent to the audience.&amp;nbsp; It was a little scatterbrained, but got the
job done.&amp;nbsp; Not my best presentation ever,
but considering the lack-of-sleep and only minutes to re-do my game plan, I
would call it a success overall.&amp;nbsp; The
entire group did a great job on this presentation, definitely showed strength
in some adverse conditions thrown at us, and we pulled it off.&lt;/p&gt;

&lt;p&gt;For those that attended our Code Camp session, we&amp;#39;re going to
get this finished up and send the code off to the PghDotNet guys to post.&amp;nbsp; Stay tuned also to my blog, I should have a
blog post up soon on some of the Silverlight 2 functionality I used in the
front end (user controls, storyboards for animations, etc).&amp;nbsp; I&amp;#39;ll try not to throw in much design (as you
could see, I&amp;#39;m not much of a designer at all!).&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;;subject=Pittsburgh+Code+Camp+2009" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;;title=Pittsburgh+Code+Camp+2009" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;title=Pittsburgh+Code+Camp+2009" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;;title=Pittsburgh+Code+Camp+2009" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx&amp;amp;;title=Pittsburgh+Code+Camp+2009&amp;amp;;top=1" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/04/06/Pittsburgh-Code-Camp-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://aspadvice.com/aggbug.aspx?PostID=51983" width="1" height="1"&gt;</description><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Azure/default.aspx">Azure</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/WCF/default.aspx">WCF</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Storing Values in XML &amp; Using Linq to XML in VB to retrieve them</title><link>http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx</link><pubDate>Fri, 13 Feb 2009 05:48:00 GMT</pubDate><guid isPermaLink="false">e709ad4c-0c15-48eb-915e-c462c6e85445:50909</guid><dc:creator>nduchene</dc:creator><slash:comments>0</slash:comments><comments>http://aspadvice.com/blogs/nathan_duchene/comments/50909.aspx</comments><wfw:commentRss>http://aspadvice.com/blogs/nathan_duchene/commentrss.aspx?PostID=50909</wfw:commentRss><description>Here&amp;#39;s a little background on the project I&amp;#39;ve been creating for the
past 2 weeks...&amp;nbsp; Take uploaded XML files, do some file validation
against a database using Linq to SQL, and distribute these files across
our network based on the values within the XML file.&amp;nbsp; Through all this,
wire in notifications if the file fails a validation test.&lt;br /&gt;
&lt;br /&gt;
As
with any other application, there are many variables.&amp;nbsp; In my case, I
was setting file directories, strings for email attributes, error
messages, etc.&amp;nbsp; Setting these variables within the app was not only
&amp;#39;ugly code&amp;#39; to fight through, but any changes meant recompilation.&amp;nbsp;
Most of these variables are going to need changed over time as business
changes, so why put myself through that???&lt;br /&gt;
&lt;br /&gt;
Given the fact I was
already reading XML files using Linq to XML, it was decided to create
an XML file to hold all these values.&amp;nbsp; It&amp;#39;s definitely something that
can be easily edited with new values &amp;amp; placed directly into
production without causing any major issues.&lt;br /&gt;
&lt;br /&gt;
Example XML (we&amp;#39;ll call this settings.xml and will be saved in the root directory with the app):&lt;br /&gt;
&amp;lt;Settings&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Notifications&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Email&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;To&amp;gt;anyone@someone.com&amp;lt;/To&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;From&amp;gt;someone@someone.com&amp;lt;/From&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Subject&amp;gt;{0} Email Notification&amp;lt;/Subject&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Body&amp;gt;This is the {0} email for the {1} task.&amp;lt;/Body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Email&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Notifications&amp;gt;&lt;br /&gt;
&amp;lt;/Settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So now, let me tell you how easy Linq to XML in VB really is.&amp;nbsp; To get the email subject &amp;amp; body, the code is as follows:&lt;br /&gt;
&lt;br /&gt;
Dim _xml as XDocument = XDocument.Load(&amp;quot;settings.xml&amp;quot;)&lt;br /&gt;
Dim _subject = _xml...&amp;lt;Settings&amp;gt;.&amp;lt;Notifications&amp;gt;.&amp;lt;Email&amp;gt;.&amp;lt;Subject&amp;gt;.Value&lt;br /&gt;
Dim _subject = _xml...&amp;lt;Settings&amp;gt;.&amp;lt;Notifications&amp;gt;.&amp;lt;Email&amp;gt;.&amp;lt;Body&amp;gt;.Value&lt;br /&gt;
&lt;br /&gt;
In
3 lines of code, I was able to set a _subject and _body variable to the
value in the XML file.&amp;nbsp; This, of course, comes with an assumption that
the child nodes only appear once in your XML file.&amp;nbsp; Notice I did not
strongly type the _subject and _body variables, this is called
anonymous types.&amp;nbsp;&amp;nbsp; If the nodes appear more than once, you will return
a collection object called _subject and _body, rather than a string for
each, that will need to be looped through with logic to find the value
you are searching.&amp;nbsp; In my case, the XML file I&amp;#39;m using for these
settings was something I created, so I purposely made sure nodes were
not repeated to only return one value when searching through the XML.&lt;br /&gt;
&lt;br /&gt;
Another
thing you may have noticed was the use of token {0} in the Subject and
{0} and {1} in the Body values.&amp;nbsp; You can now use these email settings
for a range of different emails without creating different values using
String.Format().&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Dim _subject = String.Format(_xml...&amp;lt;Settings&amp;gt;.&amp;lt;Notifications&amp;gt;.&amp;lt;Email&amp;gt;.&amp;lt;Subject&amp;gt;.Value, &amp;quot;Failure&amp;quot;)&lt;br /&gt;
Dim
_body = String.Format(_xml...
&amp;lt;Settings&amp;gt;.&amp;lt;Notifications&amp;gt;.&amp;lt;Email&amp;gt;.&amp;lt;Body&amp;gt;.Value,
&amp;quot;failure&amp;quot;, &amp;quot;assigned&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
In this case, the token {0} is replaced
by &amp;quot;Failure&amp;quot; (without quotes), so now your _subject variable string
will read:&amp;nbsp; Failure Email Notification.&amp;nbsp; The _body variable has the
&amp;quot;failure&amp;quot; string and &amp;quot;assigned&amp;quot; string replacing tokens {0} and {1}
respectively.&amp;nbsp; The _body variable string will now read:&amp;nbsp; This is the
failure email for the assigned task.&lt;br /&gt;
&lt;br /&gt;
As you can see, Linq to XML
saves a lot of time when getting values from an XML file.&amp;nbsp; Use this to
your advantage, I&amp;#39;m definitely glad I did.&lt;br /&gt;
&lt;br /&gt;
I started using
Generics today to hold a collection of emails as the application
processes&amp;nbsp; The last step of the application is to iterate through the
generic list, using the variables I set from my XML file to send out
the emails.&amp;nbsp; I&amp;#39;m still getting my hands around generics, but once I do,
it should make for a great blog post!&amp;nbsp; Keep your eyes open in the next
few weeks for it!
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;;subject=Storing+Values+in+XML+%26amp%3b+Using+Linq+to+XML+in+VB+to+retrieve+them" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;;title=Storing+Values+in+XML+%26amp%3b+Using+Linq+to+XML+in+VB+to+retrieve+them" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;title=Storing+Values+in+XML+%26amp%3b+Using+Linq+to+XML+in+VB+to+retrieve+them" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;;title=Storing+Values+in+XML+%26amp%3b+Using+Linq+to+XML+in+VB+to+retrieve+them" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx&amp;amp;;title=Storing+Values+in+XML+%26amp%3b+Using+Linq+to+XML+in+VB+to+retrieve+them&amp;amp;;top=1" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/02/13/Storing-Values-in-XML-_2600_-Using-Linq-to-XML-in-VB-to-retrieve-them.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://aspadvice.com/aggbug.aspx?PostID=50909" width="1" height="1"&gt;</description><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Linq+to+XML/default.aspx">Linq to XML</category></item><item><title>Refcardz - Free Cheat Sheets for Developers</title><link>http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx</link><pubDate>Fri, 30 Jan 2009 01:22:00 GMT</pubDate><guid isPermaLink="false">e709ad4c-0c15-48eb-915e-c462c6e85445:50536</guid><dc:creator>nduchene</dc:creator><slash:comments>0</slash:comments><comments>http://aspadvice.com/blogs/nathan_duchene/comments/50536.aspx</comments><wfw:commentRss>http://aspadvice.com/blogs/nathan_duchene/commentrss.aspx?PostID=50536</wfw:commentRss><description>&lt;p&gt;Well, I&amp;#39;ve been working on some non-ASP / non-Web Development related projects this week &amp;amp; need to jump back into Dynamic Data soon.&amp;nbsp; MVC is almost here in its final form (RC1 was released this week after a few months in beta), so that will be fun to get into soon.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I&amp;#39;ve been trying to think of a good topic to blog about all week, and although this is more general development than directly related to ASP &amp;amp; ASP.NET, I thought I&amp;#39;d blog a little about these.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;a href="http://refcardz.dzone.com" target="_blank"&gt;RefCardz - Free Cheat Sheets for Developers&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;For the developers (or in my case, developers in training) out there, I don&amp;#39;t know how you couldn&amp;#39;t use RefCardz.&amp;nbsp; The idea about RefCardz is simple...&amp;nbsp; Let&amp;#39;s get bestselling authors and leading experts to write up reliable information about some of the best development topics, and we&amp;#39;re going publish these in PDF format and give them away for free.&amp;nbsp; Take a few minutes and look over the topics they have published already and the ones coming soon.&amp;nbsp; Did I mention they are free???&lt;/p&gt;&lt;p&gt;&amp;nbsp;So what&amp;#39;s the catch?&amp;nbsp; Can you deal with one tiny little advertisement on your RefCardz?&amp;nbsp; That&amp;#39;s about it!&lt;/p&gt;&lt;p&gt;Are you still reading?!?!? I imagined you would be looking over and downloading your favorite RefCardz by now.&amp;nbsp; Not that I want you to leave, but you&amp;#39;ll definitely get more out of the RefCardz than you will get out of me at this point!&amp;nbsp; Enjoy!&lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;;subject=Refcardz+-+Free+Cheat+Sheets+for+Developers" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;;title=Refcardz+-+Free+Cheat+Sheets+for+Developers" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;title=Refcardz+-+Free+Cheat+Sheets+for+Developers" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;;title=Refcardz+-+Free+Cheat+Sheets+for+Developers" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx&amp;amp;;title=Refcardz+-+Free+Cheat+Sheets+for+Developers&amp;amp;;top=1" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/29/Refcardz-_2D00_-Free-Cheat-Sheets-for-Developers.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://aspadvice.com/aggbug.aspx?PostID=50536" width="1" height="1"&gt;</description><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/General+Development/default.aspx">General Development</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Cheat+Sheets/default.aspx">Cheat Sheets</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Reference/default.aspx">Reference</category></item><item><title>Dynamic Data with .NET 3.5 and VS2008</title><link>http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx</link><pubDate>Fri, 23 Jan 2009 02:07:00 GMT</pubDate><guid isPermaLink="false">e709ad4c-0c15-48eb-915e-c462c6e85445:50376</guid><dc:creator>nduchene</dc:creator><slash:comments>0</slash:comments><comments>http://aspadvice.com/blogs/nathan_duchene/comments/50376.aspx</comments><wfw:commentRss>http://aspadvice.com/blogs/nathan_duchene/commentrss.aspx?PostID=50376</wfw:commentRss><description>&lt;p&gt;Well, it&amp;#39;s my first blog here at aspadvice.com, and what a topic to write about.&amp;nbsp; I&amp;#39;ve been watching Dynamic Data for a little while now (something like 6 months) and every time I seem to want to pick it up and incorporate it into something I&amp;#39;m developing at the time, I can&amp;#39;t find a legitimate reason to &amp;amp; end up using the Enterprise Library&amp;#39;s DAAB (Data Access Application&lt;span style="font-weight:bold;"&gt; &lt;/span&gt;Block) to access data from the database.&lt;/p&gt;

&lt;p&gt;Now enters &lt;a href="http://www.rjdudley.com/blog" target="_blank"&gt;Rich Dudley&lt;/a&gt; into the picture.&amp;nbsp; I&amp;#39;ve known Rich for a few years and &amp;#39;blame&amp;#39; him (in a good sense really) at least once every week for throwing something interesting my way, something that completely fills up my night/weekend to learn.&amp;nbsp; Tonight&amp;#39;s project (and probably the remainder of this week) - Dynamic Data...&amp;nbsp; I&amp;#39;ve seen it, never played more than a few minutes with it because I couldn&amp;#39;t find a good reason to take the time to learn it.&amp;nbsp; Rich decided it would be great to do something to incorporate Dynamic Data into a project he came up with today.&lt;/p&gt;

&lt;p&gt;For those of you that want to see some basic and moderate level videos, I definitely suggest the videos at &lt;a href="http://www.asp.net/learn/3.5-SP1" target="_blank"&gt;www.asp.net&lt;/a&gt;&amp;nbsp; by &lt;a href="http://www.misfitgeek.com" target="_blank"&gt;Joe Stagner&lt;/a&gt;.&amp;nbsp; Start from the beginning, there is so much involved.&amp;nbsp; There is a lot of code generation when using the Dynamic Data template in VS2008, but don&amp;#39;t let it scare you away.&amp;nbsp; Yes, you could go through and develop it yourself, but why?&amp;nbsp;&amp;nbsp; The code generation is basically the essentials and is highly configurable.&amp;nbsp; Minimal setup is needed if using the template.&amp;nbsp; You could literally be up and running in a matter of minutes (provided you are using a well structured database).&amp;nbsp; The time spent on Dynamic Data is basically configuring it to match the need for the application.&amp;nbsp; The hard part is done for you.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Dynamic Data uses all the .NET items you&amp;#39;re comfortable using already (I say that in a very hopeful manner), and all the same features/functions are available to use within these controls (DataList, GridView, DetailsView, etc).&amp;nbsp; Everything is captured in an Update Panel so you get the clean transitions at postback.&lt;/p&gt;
&lt;p&gt;After watching the videos, ideas for incorporating this into some of my applications began popping into my head.&amp;nbsp; Very nice addition with .NET 3.5 SP1 and VS2008 SP1.&amp;nbsp; For those of you that haven&amp;#39;t yet checked out Dynamic Data, I suggest you do so - especially the videos.&amp;nbsp; Words mean a lot, but to see it in action definitely turned me onto it &amp;amp; I can see this incorporated into a few things I&amp;#39;m doing now.&amp;nbsp; I hope you take the time to take a closer look at Dynamic Data.&amp;nbsp; I&amp;#39;m glad I did!&lt;br /&gt;
&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;;subject=Dynamic+Data+with+.NET+3.5+and+VS2008" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;;title=Dynamic+Data+with+.NET+3.5+and+VS2008" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;title=Dynamic+Data+with+.NET+3.5+and+VS2008" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;;title=Dynamic+Data+with+.NET+3.5+and+VS2008" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx&amp;amp;;title=Dynamic+Data+with+.NET+3.5+and+VS2008&amp;amp;;top=1" target="_blank" title = "Post http://aspadvice.com/blogs/nathan_duchene/archive/2009/01/22/Dynamic-Data-with-.NET-3.5-and-VS2008.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://aspadvice.com/aggbug.aspx?PostID=50376" width="1" height="1"&gt;</description><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/.NET+3.5+SP1/default.aspx">.NET 3.5 SP1</category><category domain="http://aspadvice.com/blogs/nathan_duchene/archive/tags/VS2008+SP1/default.aspx">VS2008 SP1</category></item></channel></rss>