<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Developer.Blog();</title>
	<atom:link href="http://www.craigberntson.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.craigberntson.com/blog</link>
	<description>Software craftsmanship, agility, continuous integration, .NET, and community</description>
	<lastBuildDate>Thu, 19 Aug 2010 02:44:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>My first experience with Visual Studio LightSwitch</title>
		<link>http://www.craigberntson.com/blog/?p=878</link>
		<comments>http://www.craigberntson.com/blog/?p=878#comments</comments>
		<pubDate>Thu, 19 Aug 2010 02:44:44 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[LightSwitch]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=878</guid>
		<description><![CDATA[When Microsoft announced Visual Studio LightSwitch, I was pretty excited. Despite many gurus and non-gurus saying this was the end<a href="http://www.craigberntson.com/blog/?p=878" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>When Microsoft announced Visual Studio LightSwitch, I was pretty excited. Despite many gurus and non-gurus saying this was the end of the world, I saw LightSwitch as a great opportunity. Let me explain for a moment.</p>
<p>Fifteen to twenty years ago, FoxPro was a great end-user tool. It was great for developers, but end users could create quick and dirty applications with it. These applications solved real business problems in a short amount of time for little money. But at some point the business person realized they were in over their head and called on professional programmers to add functionality. Yes, the original program was a mess. Yes, it was often easier to start over, but the business user had gotten great use out of their creation, sometimes lasting years before they had to call in the pros. Many times these applications were ones that the business couldn&#8217;t afford to hire a pro in the first place. In the end, the use of these home-grown apps didn&#8217;t negatively affect the professional developer. In fact, I say it gave us more opportunity.</p>
<p>But FoxPro wasn&#8217;t the only tool used. Microsoft also had Access. FoxPro eventually morphed into Visual FoxPro and became a pure developer tool and today is no longer being updated by Microsoft. Access, on the other hand, continues to be sold. Thousands of Access applications exist in the same way thousands of FoxPro apps existed. The business user needed to solve a problem, in a hurry, with little cost. However, Access is morphing. Microsoft is pushing it to become a front-end tool for SharePoint development.</p>
<p>Where is the business user to go? They still need quick and dirty apps at a low cost to solve business problems. To fill this need, Microsoft created Visual Studio LightSwitch. It&#8217;s a version of Visual Studio customized for the business user. When you create applications, you use a simple designer to specify your data and screens. The VS templates handle the heavy lifting. The apps are created in Silverlight 4 and can be run locally or over the web. You can connect to different data sources and even export to Office. In reality, there is little difference between what the user can do with LightSwitch and what they&#8217;ve been doing for years with FoxPro or Access.</p>
<p>Since the announcment, I&#8217;ve been eagerly awaiting the release of the first Beta bits. And today was the day. And my first actual impression is not good. Originally I got compile errors on the Microsoft supplied Vision Clinic walk-through. An assembly or namespace from the generated code was missing. The reference was in the project, but I couldn&#8217;t manually modify the generated code. Fail #1.</p>
<p>I decided to try a different machine. I again downloaded the bits, ran the install, and started my way through Vision Clinic again. This time the compile succeeded and I was able get the first part of the application running. Success #1.</p>
<p>The next step instructed me to download the &#8220;PrescriptionContso&#8221; database from the &#8220;Connect&#8221; site. So, up to the Internet I went and searched the Connect site. No luck. How about code.msdn.com? Nope. CodePlex? Nope. Bing search? Nothing. Fail #2. At this point, I quit. I won&#8217;t go any further until the docs are fixed. Why not just provide a link to the download so people can find it?</p>
<p>I have some other observations. First, creating entities is a bit cumbersome. I have to click in the Add property field. I can&#8217;t just tab into it. Second, when you specify a datatype for the property, three of the choices are Int16, Int32, and Int64. The average business user won&#8217;t understand the difference between these and could actually choose the wrong one. I also got the properties in the wrong order. I put LastName before FirstName when creating the Entity. I couldn&#8217;t find a way to move them. Because the generator puts the properties in the order specified in the Entity, this is a problem. Finally, the walk-through has you create a couple of  things callled a &#8220;Choice List&#8221;. It&#8217;s really a pick list mechanism. The first time a Choice List is specified, you are instructed to use values 1-3. The second time it&#8217;s 0-2. No explanation as to why this is different. Again, an average business user won&#8217;t understand this. The walk-through should provide some type of explanation about what the values mean.</p>
<p>I understand this is Beta 1 and changes will be made, but right now, I&#8217;m stopped because the docs are not ready to go. I still have great hope for LightSwitch and see it as a valuable business tool. I just hope Microsoft at least gets the documentation fixed soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=878</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Brownfield Development</title>
		<link>http://www.craigberntson.com/blog/?p=869</link>
		<comments>http://www.craigberntson.com/blog/?p=869#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:09:21 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Software Craftsmanship]]></category>
		<category><![CDATA[Brownfield]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=869</guid>
		<description><![CDATA[Earlier this month, I spoke at the Prairie DevCon in Regina, SK. The last day was a fantastic all day<a href="http://www.craigberntson.com/blog/?p=869" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Earlier this month, I spoke at the <a href="http://www.prairiedevcon.com/">Prairie DevCon</a> in Regina, SK. The last day was a fantastic all day seminar on <a href="http://en.wikipedia.org/wiki/Brownfield_(software_development)">Brownfield Development</a> by <a href="http://www,igloocoder.com">Donald Belcham</a>, coauthor of a book on the topic. A Brownfield project occurs when you have an existing application that you are actively updating and fixing. Sound familiar? It should. Most of us work on Brownfield projects. Greenfield is brand new development on an new product. A legacy project is one that you rarely update, providing only critical bug fixes. In this post, I will summarize the seminar and hopefully give you some valuable information to help with your project and reduce <a href="http://en.wikipedia.org/wiki/Technical_debt">technical debt</a>.</p>
<p>The most important thing to remember when working on a Brownfield project is &#8220;Context is King&#8221;. In other words, always ask yourself, &#8220;Self, why did they do things the way they did?&#8221; By asking this question, you&#8217;ll understand much about the project and how to best enhance it.</p>
<p>Step 1 in your process is getting an automated build going. This is the single biggest thing you can do to improve your process and improve the application without touching the code. I&#8217;ll come back to this in a moment.</p>
<p>Step 2 is to run automated tests. Many QA departments run automated tests, but do you have automated unit testing? You nott have any unit testing or very little or not testing the proper areas of your code. Identify the trouble areas of your code first and devise unit tests for them.</p>
<p>Step 3 is to get your release package inot your automated build. Creating and testing the release package should not be a manual process. There are too many things that can go wrong in a manual process. It&#8217;s too easy to miss things or even include things that should not go out to the customer. Also, make sure your install scripts and other release tools, scripts, and artifacts get put into source control.</p>
<p>Does your product include a database? Are you managing it well? Do you have scripts to create and alter the database schema, create stored procedures and functions, security, etc? Are those scripts in your source control? Do you have automated testing setup on those scritps?</p>
<p>How is your development environment setup? Do you have it virtualized so that one version of the application doesn&#8217;t interfere with another?</p>
<p>I assume you are using Source Code Control (SCC), but are you using it properly? Do you know all the capabilities of your SCC tool? Do you know how to do everything the SCC tool does? What about branching and merging? Is it simple? Can you do it? Does it case great pain? Is it difficult to merge code from one engineer with that of another? How often do you check in? By checking in frequently, you will reduce merge problems.</p>
<p>What is your automated build, or even better, are you practicing <a href="http://en.wikipedia.org/wiki/Continuous_integration">Continuous Integration (CI)</a>? [Note: I am coauthor of the book "<a href="http://www.manning.com/kawalerowicz/">Continuous Integration in .NET</a>"]. You&#8217;ll get immediate feedback on your project, which will reduce risk and help you make a better product for our customers.</p>
<p>If you take on a new Brownfield project, the first thing you should do is look at the build script, release management processes, etc. You&#8217;ll learn alot about how the application is built and prepared for the customer. Next you should run the tests in the code. This will show where code issues may exist. If you get lots of problems with these items, odds are you&#8217;re in trouble already on the project.</p>
<p>When fixing bugs, identify the pain points and devise unit tests. Look for fear in the eyes of current team members when you suggest modifying code in a particular module. This fear tells you that they don&#8217;t want to touch that code because it is very brittle and will break with the smallest of code changes. These are areas that can benefit most from unit testing.</p>
<p>Do you have unit tests and are your running code coverage to know that the unit tests are really testing the code efficiently?</p>
<p>Are you doing proper defect analysis? Things like bug counts don&#8217;t tell you much. You need to look at areas where bugs come from. Does one module get more bug reports than another? Are bug reports coming from QA or from customers. These are the things that tell you the most.</p>
<p>Is the application well architected? (Odds are it isn&#8217;t according to today&#8217;s standards.) When you hear about three tiers, that refers more to a physical layout. Layers is more logical. Look at <a href="http://en.wikipedia.org/wiki/Domain_driven_design">Domain Driven Design</a> to help out here as it greatly simplifes complexity.</p>
<p>The UI layer should use a standard UI design pattern such as <a href="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller (MVC)</a>, <a href="http://en.wikipedia.org/wiki/Model-view-presenter">Model-View-Presenter (MVP)</a>, or <a href="http://en.wikipedia.org/wiki/Model_View_ViewModel">Model-View-ViewModel (MVVM)</a> in the case of Silverlight and WPF.</p>
<p>The business layer should be divided up into different layers itself with Services (connecting to external resources, but not data), Translators (data processors), Domain Model (business rules), and Repositories (data access/store) making up the main concerns and aspects cutting across them. For example, a logging utility, that&#8217;s needed by all the concerns. In a .NET environment look at something like <a href="http://www.castleproject.org/container/index.html">Castle Windsor</a> to make it easier to handle aspects.</p>
<p><a href="http://www.craigberntson.com/blog/wp-content/uploads/2010/06/brownfield1.png"><img class="alignnone size-medium wp-image-871" title="Architecture layers" src="http://www.craigberntson.com/blog/wp-content/uploads/2010/06/brownfield1-289x300.png" alt="" width="289" height="300" /></a></p>
<p>What kind of data repositores are you using? Are you using a relational store, and if so, do you use some type of an <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">Object Relational Mapper (ORM)</a> such as the .NET <a href="http://msdn.microsoft.com/en-us/library/bb399567.aspx">Entity Framework</a> or <a href="http://nhforge.org/">NHibernate</a>? Are you calling web services? Is the data RESTful? Is the data in plain text, XML, or .ini files?</p>
<p>WOW! That&#8217;s alot of stuff to consider and deal with. So, how do you cut through all the chaos in your Brownfield application? You have five options:</p>
<ul>
<li>Horizontal layers &#8211; not very appealing from a technical standpoint.</li>
<li>Module by module &#8211; not a small undertaking</li>
<li>Bottom up &#8211; In this case, you start to update the data access layer and move up to the UI</li>
<li>Top down &#8211; start at the UI and move down to the data access layer</li>
<li>Slicing &#8211; probably the most appealing. Take one very small piece of functionality, for example, save a patient record, and rework all the code needed to do that, from UI to data access.</li>
</ul>
<p>What about your code? Is it good? Is it <a href="http://en.wikipedia.org/wiki/DRY">DRY</a>? Are you practicing <a href="http://en.wikipedia.org/wiki/YAGNI">YAGNI</a>? How about <a href="http://en.wikipedia.org/wiki/Solid_(object-oriented_design)">SOLID</a>? Do you practice <a href="http://en.wikipedia.org/wiki/Separation_of_concerns">Separation of Concerns</a>? These are all techniques to make your code easier to read and maintain.</p>
<p>Do you use <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">Design Patterns</a>? Do you stay away from the <a href="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton pattern</a>, that is probably the most elitist pattern in the world?</p>
<p>Finally, are you improving confidence that your code, and the application are good? Here are some things you can do:</p>
<ul>
<li>Reduce regression errors</li>
<li>Make it know that what you&#8217;re doing is difficult</li>
<li>Do integration tests</li>
<li>Refactor your code</li>
<li>Add unit tests</li>
<li>Know that it&#8217;s 100% fallacy that you will ever get 100% of your code under test. And you shouldn&#8217;t care. You only need to test the things you need confidence in.</li>
<li>Set your direction and know where you are going form here.</li>
<li>
<div style="text-align: left;">Do <a href="http://en.wikipedia.org/wiki/Code_Kata">code katas</a> to improve your coding skills</div>
</li>
</ul>
<p style="text-align: left;">If you want to know more about Brownfield development, there are two books that have very valuable information. The first, <a href="http://www.manning.com/baley/">Brownfield Development in .NET</a>, is by the guy that presented the seminar, Donald Becham. Don&#8217;t let .NET in the title scare you away if you aren&#8217;t doing .NET development. All the concepts apply, it&#8217;s the tools that are different. The second book is <a href="http://www.mypearsonstore.com/bookstore/product.asp?isbn=0131177052">Working Effectively with Legacy Code </a>by Michael Feathers.</p>
<p style="text-align: left;">You can survive Brownfield development. With the concepts and tools these two books present, survival may not only be easier, but you may thrive in a Brownfield application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=869</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Azure Boot Camp comes to Salt Lake City</title>
		<link>http://www.craigberntson.com/blog/?p=864</link>
		<comments>http://www.craigberntson.com/blog/?p=864#comments</comments>
		<pubDate>Wed, 19 May 2010 20:11:49 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Azure]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=864</guid>
		<description><![CDATA[Want to learn Windows Azure? Want to do it for free? Sign up for the free Windows Azure Boot Camp<a href="http://www.craigberntson.com/blog/?p=864" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Want to learn Windows Azure? Want to do it for free? Sign up for the free Windows Azure Boot Camp that&#8217;s being held on June 11 from 8-5. Register <a href="https://www.clicktoattend.com/invitation.aspx?code=148532">here</a>. The event is hands on. You&#8217;ll need to bring your own laptop, power strip, lunch, and make sure your laptop is ready to go from the list <a href="http://www.azurebootcamp.com/whattobring">here</a>. I&#8217;m unclear on exactly what software you need, as it says you need VS 2010 RC and the email I got said you need VS2008. I&#8217;ll check into this, then edit this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=864</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Newsgroup closing, where to go?</title>
		<link>http://www.craigberntson.com/blog/?p=859</link>
		<comments>http://www.craigberntson.com/blog/?p=859#comments</comments>
		<pubDate>Mon, 17 May 2010 16:01:16 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=859</guid>
		<description><![CDATA[Earlier this month I blogged that Microsoft will be closing their public newsgroups. So, as a VFP developer, where do<a href="http://www.craigberntson.com/blog/?p=859" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Earlier this month I <a href="http://www.craigberntson.com/blog/?p=857">blogged</a> that Microsoft will be closing their public newsgroups. So, as a VFP developer, where do you go? First, there are any number of forums for you. The best known are <a href="http://www.universalthread.com/">Universal Thread</a> and <a href="http://www.foxite.com/">Foxite</a>, but there is also <a href="http://www.foxforum.com/">FoxForum</a>, <a href="http://stackoverflow.com/">StackOverflow</a>, and others. But what if you don&#8217;t like forums? Good news! The fine folks over at <a href="http://www.govulcan.net">Vulcan.NET</a>, a great xBase alternative, have opened a Visual FoxPro support forum on their news server. Check it out at <a href="news://news1.cavo.com,">news://news1.cavo.com</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=859</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft to close support newsgroups</title>
		<link>http://www.craigberntson.com/blog/?p=857</link>
		<comments>http://www.craigberntson.com/blog/?p=857#comments</comments>
		<pubDate>Wed, 05 May 2010 14:53:09 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=857</guid>
		<description><![CDATA[Beginning next month, Microsoft will start closing their support newsgroups in favor of support forums. I think this is a<a href="http://www.craigberntson.com/blog/?p=857" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Beginning next month, Microsoft will start closing their support newsgroups in favor of support forums. I think this is a bad idea, but it has been fought by MVPs for sometime, the decision is made and can&#8217;t be changed. Microsoft claims this to be a good thing, but the biggest problem is that the URL for their support forums has the word &#8220;social&#8221; in it. Many companies block anything &#8220;social&#8221;. This means that those companies will no longer be able to get online support from Microsoft. If you participate in any <em>public</em> Microsoft forums, you should begin transitioning now. Microsoft says that newsgroups with the least amount of traffic is move first. I read this to mean that newsgroups related to FoxPro will be among the first. The Microsoft FoxPro forum can be found <a href="http://social.msdn.microsoft.com/forums/en-US/visualfoxprogeneral/threads/">here</a>. Read the announcement <a href="http://www.microsoft.com/communities/newsgroups/default.mspx">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=857</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET lifecycle changes</title>
		<link>http://www.craigberntson.com/blog/?p=854</link>
		<comments>http://www.craigberntson.com/blog/?p=854#comments</comments>
		<pubDate>Wed, 05 May 2010 14:35:35 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=854</guid>
		<description><![CDATA[Did you miss the announcement? I did. And, it could affect each of us. Microsoft has announced that .NET 3.0<a href="http://www.craigberntson.com/blog/?p=854" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Did you miss the announcement? I did. And, it could affect each of us. Microsoft has announced that .NET 3.0 and later are now components of Windows. This means their lifecycle support is tied to Windows lifecycle support and not to the standard 5 years mainstream and 5 years extended support for development tools. It also means that .NET on Vista has a different support policy than .NET on Windows 7. I haven&#8217;t decided if this is good or bad as I can see both positives and negatives in this. What&#8217;s your take? Read the new lifecycle policy <a href="http://support.microsoft.com/default.aspx/gp/lifeandotnet?p=1">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=854</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing: UtahGeekEvents.com and VS 2010 Community Launch</title>
		<link>http://www.craigberntson.com/blog/?p=846</link>
		<comments>http://www.craigberntson.com/blog/?p=846#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:48:10 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Salt Lake City]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Utah Events; Visual Studio]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=846</guid>
		<description><![CDATA[Code Camps have been going on for some time now here in Utah, but there are so many other events<a href="http://www.craigberntson.com/blog/?p=846" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Code Camps have been going on for some time now here in Utah, but there are so many other events that the community can sponsor. So, the Utah Code Camp organizers have created utahgeekevents.com. We had hoped to have a complete web site set up and running before our next event, but the launch of Visual Studio 2010 has pushed us to go public sooner than planned. So, right now, when you go to utahgeekevents.com, you get redirected to utahcodecamp.com.</p>
<p>Our first event is the Visual Studio 2010 Community Launch, Thursday May 20 from 1-4 at the Microsoft offices in the International Center. You need to register to attend. Here&#8217;s what you need to do:</p>
<ol>
<li>Go to www.utahgeekevents.com</li>
<li>Sign in or join as a member</li>
<li>Register to attend VS2010 Community Launch</li>
</ol>
<p>We&#8217;re working on updating the rest of the web site and working on other events. Some ideas we have are SQL Saturday, Day of .NET, and Utah Fall Code Camp. We&#8217;re open to suggestions if there&#8217;s a community event you want to see. Just let us know. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=846</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Integration in .NET &#8211; Chapter 9</title>
		<link>http://www.craigberntson.com/blog/?p=840</link>
		<comments>http://www.craigberntson.com/blog/?p=840#comments</comments>
		<pubDate>Sun, 18 Apr 2010 18:22:49 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[CIinDotNet]]></category>
		<category><![CDATA[Continuous Integration]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=840</guid>
		<description><![CDATA[I was pretty busy this past week and didn&#8217;t have time to post that Chapter 9 of our book, Continuous<a href="http://www.craigberntson.com/blog/?p=840" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>I was pretty busy this past week and didn&#8217;t have time to post that Chapter 9 of our book, <a href="http://www.manning.com/kawalerowicz/">Continuous Integration in .NET</a> has been posted to the <a href="http://www.manning.com/">Manning</a> web site. In this chapter you&#8217;ll learn how to automatically generate documentation, use XML documentation, and generate documentation with Sandcastle. If you&#8217;re on the MEAP program, you can download your MEAP update.</p>
<p>Watch for Chapter 10 to come along soon. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=840</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio/Office/SharePoint 2010 Salt Lake Launch</title>
		<link>http://www.craigberntson.com/blog/?p=834</link>
		<comments>http://www.craigberntson.com/blog/?p=834#comments</comments>
		<pubDate>Fri, 09 Apr 2010 15:07:00 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=834</guid>
		<description><![CDATA[I got word last night from Microsoft that they are holding two launch events in Salt Lake City.Both are on<a href="http://www.craigberntson.com/blog/?p=834" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>I got word last night from Microsoft that they are holding two launch events in Salt Lake City.<br />Both are on May 5. The morning is for Office/SharePoint 2010 and runs from 8:00-12:00. The second, for Visual Studio 2010, runs 1:00-5:00. Both events are at the Microsoft offices in the International Center, just west of the airport. Seating is VERY limited, so you&#8217;ll need to <a href="http://www.msdnevents.com/">register</a> today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=834</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utah and Boise Code Camps</title>
		<link>http://www.craigberntson.com/blog/?p=833</link>
		<comments>http://www.craigberntson.com/blog/?p=833#comments</comments>
		<pubDate>Wed, 31 Mar 2010 04:59:00 +0000</pubDate>
		<dc:creator>Craig Berntson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.craigberntson.com/blog/?p=833</guid>
		<description><![CDATA[This past weekend was a Code Camp weekend. We had our Utah Code Camp on Saturday, then when it was<a href="http://www.craigberntson.com/blog/?p=833" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>This past weekend was a Code Camp weekend. We had our Utah Code Camp on Saturday, then when it was over, I jumped in the car and drove 4 1/2 hours to Boise for day two of the Boise Code Camp. Both were great and I look forward to the next camp at both locations. Slides and sample code for my presentations at both camps are available <a href="http://www.craigberntson.com/presentations/presentations.htm">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craigberntson.com/blog/?feed=rss2&amp;p=833</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
