<?xml version="1.0" encoding="windows-1252"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-5060433</id><updated>2010-04-09T15:19:10.389-06:00</updated><title type="text">DevBlog</title><subtitle type="html">Software craftsmanship, agile development, continuous integraton, .NET, and community.</subtitle><link rel="alternate" type="text/html" href="http://www.craigberntson.com/blog/index.asp" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default?start-index=26&amp;max-results=25" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.craigberntson.com/blog/atom.xml" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>827</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/craigberntsonDevBlog" /><feedburner:info uri="craigberntsondevblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry><id>tag:blogger.com,1999:blog-5060433.post-479527383997449067</id><published>2010-04-09T09:07:00.004-06:00</published><updated>2010-04-09T09:13:08.244-06:00</updated><title type="text">Visual Studio/Office/SharePoint 2010 Salt Lake Launch</title><content type="html">I got word last night from Microsoft that they are holding two launch events in Salt Lake City.&lt;br /&gt;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'll need to &lt;a href="http://www.msdnevents.com/"&gt;register&lt;/a&gt; today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-479527383997449067?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/479527383997449067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=479527383997449067" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/479527383997449067" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/479527383997449067" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/7HXyr2RnFJU/visual-studioofficesharepoint-2010-salt.asp" title="Visual Studio/Office/SharePoint 2010 Salt Lake Launch" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/04/visual-studioofficesharepoint-2010-salt.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-8627253430937517013</id><published>2010-03-30T22:59:00.003-06:00</published><updated>2010-03-30T23:01:37.658-06:00</updated><title type="text">Utah and Boise Code Camps</title><content type="html">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 &lt;a href="http://www.craigberntson.com/presentations/presentations.htm"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-8627253430937517013?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/8627253430937517013/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=8627253430937517013" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/8627253430937517013" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/8627253430937517013" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/vQZa6JEW-ww/utah-and-boise-code-camps.asp" title="Utah and Boise Code Camps" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/03/utah-and-boise-code-camps.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-6678576131904745079</id><published>2010-03-28T11:06:00.003-06:00</published><updated>2010-03-28T11:11:10.701-06:00</updated><title type="text">Utah Code Camp</title><content type="html">Thanks to everyone that attended Utah Code Camp yesterday. As one of the organizers, I was encouraged to hear great feedback and we got some suggestions for our next Code Camp this fall. Please fill out the eval. You should see a link in your inbox soon.&lt;br /&gt;&lt;br /&gt;We tried something different this time, the "Quasi Open Spaces/Coding Dojo". While there wasn't much dojo going on, the open spaces part was really fun and people seemed to like it. We'll take it into account for future Code Camps.&lt;br /&gt;&lt;br /&gt;I also want to thank those that attended my session. This was the first time I had presented the topic and got some positive feedback. Please go to &lt;a href="http://www.speakerrate.com/craigber"&gt;www.speakerrate.com/craigber&lt;/a&gt; and rate the session. Also, again, fill out the Code Camp eval once you get the link.&lt;br /&gt;&lt;br /&gt;I look forward to our next Code Camp this fall. Watch this space for the date.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-6678576131904745079?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/6678576131904745079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=6678576131904745079" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6678576131904745079" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6678576131904745079" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/G3dVBLXgk4g/utah-code-camp.asp" title="Utah Code Camp" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/03/utah-code-camp.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-6855678452626311114</id><published>2010-03-28T09:40:00.003-06:00</published><updated>2010-03-28T09:45:05.612-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Code Camp" /><title type="text">Portland Code Camp</title><content type="html">I've signed up to speaker at &lt;a href="http://www.portlandcodecamp.com/"&gt;Portland Code Camp&lt;/a&gt;, May 22 at Portland State University. My topics are Continuous Integration in .NET and .NET Static Code Analysis, which is a reworking of my I'm Doing Continuous Integration, Now What session. I'm looking forward to being in the Rose City. If you're in the Pacific Northwest, I hope you can make it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-6855678452626311114?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/6855678452626311114/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=6855678452626311114" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6855678452626311114" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6855678452626311114" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/GbjlWNLtbc8/portland-code-camp.asp" title="Portland Code Camp" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/03/portland-code-camp.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-4186786260056505352</id><published>2010-03-22T13:56:00.003-06:00</published><updated>2010-03-22T14:08:36.148-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CI" /><category scheme="http://www.blogger.com/atom/ns#" term="Hudson" /><title type="text">Continuous Integration with Hudson</title><content type="html">If you haven't heard of &lt;a href="http://hudson-ci.org/"&gt;Hudson&lt;/a&gt;, you haven't been paying attention. It's a great Continuous Integration server that's gaining lots of attention from .NET, Java, and Open Source teams. Hudson is Open Source and written in Java, but works with many of the above mentioned tools and languages. Like many Open Source projects, it lacks in depth documentation. Now there's a resource in the works to fill this gap. &lt;a href="http://www.wakaleo.com/"&gt;John Ferguson Smart&lt;/a&gt;, a Java guy, is writing a free book, "&lt;a href="http://www.wakaleo.com/books/continuous-integration-with-hudson-the-book"&gt;Continuous Integration with Hudson&lt;/a&gt;" that will go into Hudson in depth.&lt;br /&gt;&lt;br /&gt;So, what do I think of the book? It's a needed project. Based on what I've seen of Chapter 1 and the Table of Contents, it looks fairly complete to get you up and running and addresses some of the common issues of any CI system. Because the author works with Java, the book takes a Java-leaning view, but that's ok. You'll still get value from it. One thing I did notice is one screen shot shows Windows XP, making the book look dated.&lt;br /&gt;&lt;br /&gt;Another issue is that when you go to download the PDF, you can sign up for the author's email Java tips, but no place to sign up to be notified of book updates. As a Microsoft guy, I want to know about book updates, but don't care about Java tips.&lt;br /&gt;&lt;br /&gt;I'm looking forward to future updates. I'll definately be watching this book closely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-4186786260056505352?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/4186786260056505352/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=4186786260056505352" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4186786260056505352" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4186786260056505352" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/E5ad6ywbtK8/continuous-integration-with-hudson.asp" title="Continuous Integration with Hudson" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/03/continuous-integration-with-hudson.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-5321414298453164121</id><published>2010-03-04T22:52:00.002-07:00</published><updated>2010-03-04T22:59:10.611-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CIinDotNet" /><title type="text">CI in .NET Chapters</title><content type="html">More chapters for &lt;a href="http://www.manning.com/kawalerowicz/"&gt;Continuous Integration in .NET&lt;/a&gt; are now available to MEAP subscribers. This means you can get a look at what we're working on. And please provide us feedback in the &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=612"&gt;Author Online&lt;/a&gt; forum. Here's what you can find in the latest MEAP:&lt;br /&gt;&lt;br /&gt;Chapter 7 has arrived! This chapter takes you deeper into testing in your continuous integration environment. You'll go beyond unit testing to integration, system, and acceptance testing. You will learn when it is good to use tools like Selenium, White, or FitNesse in your CI process.&lt;br /&gt;&lt;br /&gt;Chapter 8 is also new! Here you will learn why you should obey some coding rules and best practices and how to incorporate enforcing these rules into CI. In this chapter, we will look at FxCop, StyleCop, and (briefly) NDepend and how to use them to continuously analyze the code.&lt;br /&gt;&lt;br /&gt;As always, happy MEAPing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-5321414298453164121?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/5321414298453164121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=5321414298453164121" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/5321414298453164121" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/5321414298453164121" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/8-gad8hllJU/ci-in-net-chapters.asp" title="CI in .NET Chapters" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/03/ci-in-net-chapters.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-9018091164870778894</id><published>2010-02-11T23:09:00.001-07:00</published><updated>2010-02-11T23:12:24.239-07:00</updated><title type="text">No Fluff Just Stuff coming to SLC</title><content type="html">I just learned that the &lt;a href="http://www.nofluffjuststuff.com/home/main"&gt;No Fluff Just Stuff&lt;/a&gt; seminars is making a stop in Salt Lake City July 9-10. This is a Java/Agile conference. No details are available yet other then the date, but you can sign up to get info when it's released.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-9018091164870778894?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/9018091164870778894/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=9018091164870778894" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/9018091164870778894" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/9018091164870778894" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/fLPU6Msj2ag/no-fluff-just-stuff-coming-to-slc.asp" title="No Fluff Just Stuff coming to SLC" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/02/no-fluff-just-stuff-coming-to-slc.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-7777066784789405913</id><published>2010-02-11T22:47:00.003-07:00</published><updated>2010-02-11T22:49:40.173-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Code Camp" /><category scheme="http://www.blogger.com/atom/ns#" term="Continuous Integration" /><title type="text">Speaking at Boise Code Camp</title><content type="html">Got confirmation today that I'm speaking at &lt;a href="http://www.boisecodecamp.com/Home/tabid/36/Default.aspx"&gt;Boise Code Camp&lt;/a&gt;. The camp is March 27-28. I'll be there on Sunday, March 28. I've changed the title of my topic, but the content is the same. It's "We're doing Continuous Integration, now what?" I'll talk about StyleCop, FxCop, and SandCastle, and how to add them to your CI process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-7777066784789405913?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/7777066784789405913/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=7777066784789405913" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7777066784789405913" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7777066784789405913" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/DM0PNL3ChK0/speaking-at-boise-code-camp.asp" title="Speaking at Boise Code Camp" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/02/speaking-at-boise-code-camp.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-4094269239447192868</id><published>2010-02-11T09:06:00.003-07:00</published><updated>2010-02-11T09:10:21.191-07:00</updated><title type="text">CI in .NET Excerpt - FxCop</title><content type="html">Another excerpt from my book &lt;a href="http://www.manning.com/kawalerowicz/"&gt;Continuous Integration in .NET&lt;/a&gt; is available. You can read &lt;a href="http://www.developertutorials.com/tutorials/miscellaneous/continuous-code-analysis-with-fxcop-10-02-09/page1.html"&gt;Continuous Code Analysis with FxCop&lt;/a&gt; free. Don't forget the other excepts that I talk about &lt;a href="http://www.craigberntson.com/blog/2010/01/free-excerpts-from-ci-in-net.asp"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-4094269239447192868?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/4094269239447192868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=4094269239447192868" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4094269239447192868" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4094269239447192868" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/RYR570bbC8Q/ci-in-net-excerpt-fxcop.asp" title="CI in .NET Excerpt - FxCop" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/02/ci-in-net-excerpt-fxcop.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-5634747006142038404</id><published>2010-02-04T15:18:00.003-07:00</published><updated>2010-02-04T15:25:41.144-07:00</updated><title type="text">Prairie DevCon</title><content type="html">The summer after I graduated high school, two friends and I set out on a two week, cross country trip. We left Salt Lake City and headed north into Canada, then took the Trans-Canada highway east. We came back into the US at Niagra Falls, made a stop in Boston, then across the US and back home.&lt;br /&gt;&lt;br /&gt;One place I remember visiting is Regina, Saskatchawan. It sits out on the plains, north of Montana/North Dakota state line. I remember how beautiful it was there. I also remember visiting a museum.&lt;br /&gt;&lt;br /&gt;Several years ago, I met Fox guru Doug Hennig at a FoxPro conference and learned he was from Regina. He was surprised to hear that not only did I know where Regina is, but that I had been there.&lt;br /&gt;&lt;br /&gt;Now I get a chance to visit again. I will be speaking at the &lt;a href="http://www.prairiedevcon.com/"&gt;Prairie DevCon&lt;/a&gt;, June 2 &amp;amp; 3 in Regina. My topics are "Continuous Integration in .NET" and "Continuous Integration in .NET...the Next Steps". I've seen the list of speakers and topics. It looks like a great conference. Oh, and my friend Doug will be speaking too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-5634747006142038404?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/5634747006142038404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=5634747006142038404" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/5634747006142038404" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/5634747006142038404" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/8dkz5_mr0Q4/prairie-devcon.asp" title="Prairie DevCon" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/02/prairie-devcon.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-6860707039610100576</id><published>2010-02-03T07:06:00.003-07:00</published><updated>2010-02-03T07:10:06.138-07:00</updated><title type="text">Rocky Mountain Tech Trifecta</title><content type="html">Every February, Denver hosts a great mini conference, the &lt;a href="http://www.rmtechtrifecta.com/"&gt;Rocky Mountain Tech Trifecta&lt;/a&gt;. It's like a Code Camp with sessions on Windows, SQL, and .NET. This year it's on Saturday, Feb. 27. I've been confirmed as a speaker again this year. My topic is "Domain Driven Design in .NET'. I'm looking forward to being in Denver again this year. If you're anywhere in the Colorado area, I hope you can make it too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-6860707039610100576?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/6860707039610100576/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=6860707039610100576" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6860707039610100576" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6860707039610100576" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/API50DMaOL0/rocky-mountain-tech-trifecta.asp" title="Rocky Mountain Tech Trifecta" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/02/rocky-mountain-tech-trifecta.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-3608567045208313796</id><published>2010-01-21T11:23:00.002-07:00</published><updated>2010-01-21T11:30:40.674-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TeamCity" /><category scheme="http://www.blogger.com/atom/ns#" term="CIinDotNet" /><category scheme="http://www.blogger.com/atom/ns#" term="Continuous Integration" /><title type="text">Free excerpts from CI in .NET</title><content type="html">Our book, Continuous Integration in .NET is generating lots of interest around the Interwebs. If you're wondering about this book, you can get some free excerpts. The latest is a look at using &lt;a href="http://www.jetbrains.com/teamcity/index.html"&gt;TeamCity&lt;/a&gt; for your CI server. Check them all out, then go &lt;a href="http://www.manning.com/kawalerowicz/"&gt;buy the book&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.manning.com/kawalerowicz/Kawalerowicz_MEAP_Ch1.pdf"&gt;Chapter 1: Grokking Continuous Integration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.manning.com/free/green_kawalerowicz.html"&gt;Green Paper: Continuous Integration in .NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dotnetslackers.com/articles/net/Continuous-Integratio-with-TeamCity.aspx"&gt;dotNetSlackers.com: Continuous Integration with TeamCity&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-3608567045208313796?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/3608567045208313796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=3608567045208313796" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/3608567045208313796" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/3608567045208313796" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/IXEfKbfSuzI/free-excerpts-from-ci-in-net.asp" title="Free excerpts from CI in .NET" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/01/free-excerpts-from-ci-in-net.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-6419976752656904859</id><published>2010-01-20T22:01:00.002-07:00</published><updated>2010-01-20T22:13:03.713-07:00</updated><title type="text">CI in .NET Chapters 3 and 4</title><content type="html">Wow! Has it really been three months since my last post? Well, I have a good reason for it. I've been hard at work, along with Marcin, on our book, &lt;a href="http://www.manning.com/kawalerowicz/"&gt;Continuous Integration in .NET&lt;/a&gt;. We've had some speed bumps along the way, but I think we're now working well together.&lt;br /&gt;&lt;br /&gt;For those of you who don't know, Marcin is from Poland and I am from the US. We got to meet in person in November when I was in Germany for the German FoxPro DevCon.&lt;br /&gt;&lt;br /&gt;So, what have we been busy doing? Writing and editing of course. The first eight chapters have been written, but not edited to the point we can MEAP them. However, earlier tonight Manning posted the first MEAP for Chapters 3 and 4. That means you now have access to 1/3 of the book!&lt;br /&gt;&lt;br /&gt;Wondering what's new? Chapter 3 introduces MSBuild as an automation build platform for .NET Continuous Integration. The chapter begins with the basics, then takes you through the usage of community contributed functionality. By the end, you'll be developing your own custom build tasks.&lt;br /&gt;&lt;br /&gt;Chapter 4 guides you through the process of choosing the right CI server for your needs. It covers CruiseControl.NET, TeamCity, and TFS 2010. After you finish reading Chapter 4, you should be able to navigate your way through the options of the CI world.&lt;br /&gt;&lt;br /&gt;Keep an eye out for Chapter 5, which will look at diverse feedback mechanisms provided by CI servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-6419976752656904859?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/6419976752656904859/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=6419976752656904859" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6419976752656904859" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6419976752656904859" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/REvxd9yp_aE/ci-in-net-chapters-3-and-4.asp" title="CI in .NET Chapters 3 and 4" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2010/01/ci-in-net-chapters-3-and-4.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-7027995648336167039</id><published>2009-10-19T08:08:00.001-06:00</published><updated>2009-10-19T08:08:43.464-06:00</updated><title type="text">Continuous Integration in .NET</title><content type="html">&lt;p&gt;The Agile movement has changed the way we develop software, even if you are solidly in the Waterfall methodology camp. Increased emphasis on customer involvement, working software, and more involved team work are great benefits to any development process. One addition that you can and should adopt in any size team is Continuous Integration, commonly called CI. With CI builds and unit tests are handled automatically when you check in code. This helps you create better quality software in less time.&lt;/p&gt; &lt;p&gt;For the past few months I?ve been hard at work co-authoring a new book, "Continuous Integration in .NET". There are many tools available to do this. The best know is probably Microsoft?s Visual Studio Team Suite with Team Foundation Server. It has lots of bells and whistles and is pretty easy to setup, but it?s also expensive.&lt;/p&gt; &lt;p&gt;My co-author, Marcin Kawalerowicz, and I are taking a different route. We?ll show you how to use free or low cost tools to get CI working in your environment. We?re focusing on two of the better known solutions, Cruise Control .NET and TeamCity. We walk you through the entire process, beginning to end and include areas that most teams don?t get into such at tessting with FitNesse, documenting with SandCastle, running code analysis, and many other things.&lt;/p&gt; &lt;p&gt;We?re a long way from seeing the book in print. We?re currently targeting July, 2010. But you can get started with the book now. Our publisher, &lt;a href="http://www.manning.com"&gt;Manning&lt;/a&gt;, has a great way to see the book progress and provide input to shape the book and make it a tremendous resource. It?s calling the Manning Early Access Program, or MEAP.&lt;/p&gt; &lt;p&gt;With MEAP, you get to read Chapter 1 for free. You can then purchase either the ebook or both the ebook and the printed book. Either way, you get access to every chapter as it?s available. Currently the first two chapters are online. None of the chapters we?ve written have been polished. Copy editing doesn?t happen until we?re done writing every chapter. Go &lt;a href="http://www.manning.com/kawalerowicz/" target="_blank"&gt;here&lt;/a&gt; to get your MEAP.&lt;/p&gt; &lt;p&gt;By giving you early access to the book, you get access to the Author Forum. It?s on this forum that you can post comments, good and bad, about the book and make suggestions on additional content. You can access the forum &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=612" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I hope you will check out our book and library. We?re working hard to make it a great resource for your library.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-7027995648336167039?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/7027995648336167039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=7027995648336167039" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7027995648336167039" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7027995648336167039" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/lk-SnFHCzC8/continuous-integration-in-net.asp" title="Continuous Integration in .NET" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/10/continuous-integration-in-net.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-1436748982084729801</id><published>2009-10-01T10:20:00.001-06:00</published><updated>2009-10-01T10:20:19.285-06:00</updated><title type="text">Reawarded Microsoft MVP</title><content type="html">&lt;p&gt;The &lt;a href="http://mvp.support.microsoft.com"&gt;Microsoft MVP program&lt;/a&gt; is a great award given to people doing great things to support the community. You may speak at conferences, write books or magazine articles, provide support in forums, or many other areas. These are the things that can qualify you to be an MVP. I'm humbled to again be counted among the 4700 people worldwide that are current MVPs. It is a great honor to get this award again. After all, this award allows me to help you create better applications for your customers.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-1436748982084729801?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/1436748982084729801/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=1436748982084729801" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/1436748982084729801" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/1436748982084729801" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/9eeBSQH3qSA/reawarded-microsoft-mvp.asp" title="Reawarded Microsoft MVP" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/10/reawarded-microsoft-mvp.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-4526026405422315650</id><published>2009-09-29T12:51:00.001-06:00</published><updated>2009-09-29T12:51:52.229-06:00</updated><title type="text">Tech Speaking.. The first steps</title><content type="html">&lt;p&gt;In my &lt;a href="http://www.craigberntson.com/blog/2009/09/speaking-with-powerpoint.asp"&gt;last post&lt;/a&gt;, I discussed ways to improve your PowerPoint when giving conference presentations. But before you even get to that point, you need to plan what you are going to present.&lt;/p&gt; &lt;p&gt;Step one is to know your audience. Are they experienced with the technology you're speaking on? Do they understand competing or parallel technologies? What do you think they are looking for in this presentation? &lt;/p&gt; &lt;p&gt;Next you need to define the technical level for your presentation. Is it a high-level, 30,000 foot view or will it be deep dive? If going deep dive, you need to define some prerequisites that attendees should know so you don't have to spend time covering the basics. This sets the attendees expectations on what they'll learn.&lt;/p&gt; &lt;p&gt;Now it's time to work up an outline. This is your guide to what you'll actually present and can be used for the Outline slide at the beginning of your session. The presentation should cover three main points:&lt;/p&gt; &lt;p&gt;WHAT am I going to show you?&lt;/p&gt; &lt;p&gt;WHY should it matter to you?&lt;/p&gt; &lt;p&gt;HOW can you do it?&lt;/p&gt; &lt;p&gt;If you've answered these three questions, the audience should go away satisfied.&lt;/p&gt; &lt;p&gt;One last thing?Pick out one key point and make it the "If you don't learn anything else in this session, learn this one thing" item. This should be the most important concept in your session. It's not often easy to find one key thing, but it's important that you do.&lt;/p&gt; &lt;p&gt;My next post in this series will cover session artifacts.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-4526026405422315650?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/4526026405422315650/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=4526026405422315650" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4526026405422315650" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4526026405422315650" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/Q8TV2e72obk/tech-speaking-first-steps.asp" title="Tech Speaking.. The first steps" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/09/tech-speaking-first-steps.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-7953017930412667840</id><published>2009-09-25T14:22:00.001-06:00</published><updated>2009-09-25T14:22:45.907-06:00</updated><title type="text">Speaking with PowerPoint</title><content type="html">&lt;p&gt;This post is the first in a series of how to be a better tech conference speaker.&lt;/p&gt; &lt;p&gt;I have presented at lots of geek events since my first conference presentation in 2000 and picked up several tips along the way. I have also done a presentation on speaking at a couple of Code Camps. At the last couple of events I saw presentations where the speaker clearly didn't understand how to use PowerPoint. Granted, PowerPoint should not be the focus for most tech conference sessions as the attendees want to see the code, but some concepts are just better addressed through PowerPoint. My Domain Driven Design session is one such example. It takes nearly 75 minutes just to explain the concepts. That leaves no time for code. PowerPoint is also very good for explaining complex concepts because you can explain a little bit at a time, then put it all together at the end so the attendee grasps the concept better. If you are a keynote presenter, then you will probably use all PowerPoint and no or little code. But the same PowerPoint rules will apply. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;There are two basic reveal styles. You can show the entire slide at once. This is good to use as a prompt for you to know what to present next. However, the audience often reads ahead. In the second method you reveal one item at a time as you present it to the audience. I use both techniques, depending on what I'm talking about.&lt;/li&gt; &lt;li&gt;People on the back row can't see the bottom of the slides. This rule is commonly broken. I try to use only the top 75% of the slide. The longer the room, the worse the problem becomes.&lt;/li&gt; &lt;li&gt;We've all come to hate bullet points. Use a maximum of three levels of bullets. Better yet, keep it to one level. Only use keywords. &lt;/li&gt; &lt;li&gt;Limit the total amount of text on a slide. If you have to go to a third row of text on a bullet, you have too much text. If you have a long quote from someone, highlight the key points in a different color so the audience can pick that out quickly.&lt;/li&gt; &lt;li&gt;Slides should be simple and relevant. Don't include information that isn't needed. Use the minimum amount of text needed. Remember that bullets don't need to be complete sentences. The audience is there to hear you speak, not read your slides.&lt;/li&gt; &lt;li&gt;If you have text on a slide, you need to talk about it. Don't leave the audience wondering why you didn't mention something that seemed important enough to put on a slide, but not address in the speech.&lt;/li&gt; &lt;li&gt;Avoid animation and sounds. They are distracting to the audience. One version of PowerPoint had a standard template that included animation of a light swooshing across the screen with every slide change. It looked cool, but distracted the audience.&lt;/li&gt; &lt;li&gt;If you need to use complex diagrams, build them one portion at a time. Explain each part as you display it. This makes it easier for the audience to understand the diagram. If you show the whole thing at one time, the audience will try to figure out what you're showing and won't hear what you're saying.&lt;/li&gt; &lt;li&gt;Think about the fonts you are using. Don't use anything smaller than 20 point. Also, sans-serif fonts are easier to see on a screen while serif fonts are easier for printed material.&lt;/li&gt; &lt;li&gt;Be careful of the slide background. Most of the templates that ship with PowerPoint are unusable for conference presentations. You should use something plain. That means no pictures and no swirling geometric figure. Dark color backgrounds work best in most conference venues. Blue, black, dark green are good choices. Light backgrounds work better in small conference rooms like you see in most offices.&lt;/li&gt; &lt;li&gt;The text color should have good contrast with the background color. Yellow text on a blue background or white text on a black background work well.&lt;/li&gt; &lt;li&gt;Don't put your logo or company name on every slide. Your introduction slide should say who you work for, so it isn't needed again later.&lt;/li&gt; &lt;li&gt;Arrive at the venue early and check your slide deck on the projector in the room you are speaking in. Walk to the back of the room. Sit on the last row. Make sure everyone in the room can see your slides. Make adjustments as needed.&lt;/li&gt; &lt;li&gt;Add supporting information into the Notes section of each slide. Most of the time, attendees will only get slides and sample code from events. They won't remember all the information from just a few bullet points. If a conference requires whitepapers from the speakers, you can ignore this rule.&lt;/li&gt; &lt;li&gt;Don't use laser pointers. They are more distracting than helpful. Have you ever played with a laser pointer and a cat? Guess what humans look like when the presenter starts using a laser pointer.&amp;nbsp; Almost every time I see someone use them, they press the laser pointer button, then move the pointer around trying to find the exact place on the slide they want to emphasize. Your mind starts to follow the red light and you stop listening.&lt;/li&gt; &lt;li&gt;I can't tell you the number of times I've seen a presenter launch PowerPoint, click the Show button so the slides are full screen, show some slides, then hit Escape to turn off the Show before switching to Visual Studio to show code. Stop doing that!!!! It's distracting to the audience because when you switch back to PowerPoint you have to find the Show button again to get the slides to full screen. It really shows a lack of preparation and professionalism. I think the reason people do this is because if you Alt+Tab from PowerPoint to Visual Studio, then back, that you'll find two instances of PowerPoint in the programs list and it isn't easy to tell which one you want. It's easy to avoid that. The solution?don't launch PowerPoint. Instead, launch Windows Explorer, navigate to the folder that contains your slide deck. Right-click on your slides file and select Show. You'll get one instance of PowerPoint running. Just remember to not hit Escape during your presentation because it will kill PowerPoint.&lt;/li&gt; &lt;li&gt;Get a clicker. One of those things that will advance to the next slide. This way you can use the entire stage and not have to cross it to advance to the next slide. Practice using the clicker. Change the batteries often so that it won't die in the middle of the presentation.&lt;/li&gt; &lt;li&gt;Always include an introductory slide that lists the topics you will present. This gives the audience an idea of where you will go. If the topic is complex, include slides along the way to transition from one idea to another. Include a summary slide at the end that talks about what you presented. &lt;/li&gt; &lt;li&gt;Most presenters have a slide at the beginning that includes contact information. That's good, but most people won't get the information then. I show a slide at the end with contact information and leave it up while taking questions. This gives attendees a chance to write down the information so they know where to download slides or how to get hold of you.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;You may want to get a good book on using PowerPoint. I recently picked up &lt;a href="http://www.amazon.com/slide-ology-Science-Creating-Presentations/dp/0596522347/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253909846&amp;amp;sr=8-1"&gt;Slideology&lt;/a&gt; and &lt;a href="http://www.amazon.com/Presentation-Zen-Simple-Design-Delivery/dp/0321525655/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1253909846&amp;amp;sr=8-2"&gt;Presentation Zen&lt;/a&gt; and found them very useful to tweak my presentations. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-7953017930412667840?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/7953017930412667840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=7953017930412667840" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7953017930412667840" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7953017930412667840" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/PC2jGLQeH6s/speaking-with-powerpoint.asp" title="Speaking with PowerPoint" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/09/speaking-with-powerpoint.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-3727230092693776727</id><published>2009-08-31T09:48:00.001-06:00</published><updated>2009-08-31T09:48:12.346-06:00</updated><title type="text">Interview on Continuous Integration</title><content type="html">&lt;p&gt;While at &lt;a href="http://www.devlink.net"&gt;DevLink&lt;/a&gt;, I was interviewed by &lt;a href="http://www.davidgiard.com/"&gt;David Giard&lt;/a&gt; for the webcast "Technology and Friends". The topic was Continuous Integration. You can see the interview &lt;a href="http://www.davidgiard.com/2009/08/31/CraigBerntsonOnContinuousIntegration.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-3727230092693776727?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/3727230092693776727/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=3727230092693776727" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/3727230092693776727" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/3727230092693776727" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/uJMFqdWj3qY/interview-on-continuous-integration.asp" title="Interview on Continuous Integration" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/interview-on-continuous-integration.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-4625722307948346146</id><published>2009-08-19T23:01:00.001-06:00</published><updated>2009-08-19T23:01:32.125-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Code Camp" /><title type="text">Alistair Cockburn at Utah Code Camp</title><content type="html">&lt;p&gt;Register now for &lt;a href="http://www.utcodecamp.com/"&gt;Utah Code Camp&lt;/a&gt;, Sept. 19. One of the biggest names in the industry is the Keynote speaker. Dr. Alistair Cockburn, one of the guys behind the Agile Manifesto and Use Cases. There are some other heavy hitters coming from the local community: Pat Wright, Aaron Skonnard, Aaron Zupancic as well as nationally known presenters Aaron Skonnard (yeah, I know, he was on the local list because he lives here), Joe Mayo, and Jason Beres. There are many others with some great content. Oh yeah, I?ll be there too presenting ?Domain Driven Design for the Average Application?. We?ll have lots of stuff to give away. Best of all, it?s free! Register today and I?ll see you at camp.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-4625722307948346146?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/4625722307948346146/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=4625722307948346146" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4625722307948346146" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/4625722307948346146" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/SgHdBB-BUBM/alistair-cockburn-at-utah-code-camp.asp" title="Alistair Cockburn at Utah Code Camp" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/alistair-cockburn-at-utah-code-camp.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-2950664249441331820</id><published>2009-08-19T22:48:00.001-06:00</published><updated>2009-08-19T22:48:45.904-06:00</updated><title type="text">DevLink Day 3</title><content type="html">&lt;p&gt;The final day of DevLink started pretty much the same way as Day 2?a trip to McDonald?s for breakfast and a car full of attendees.&lt;/p&gt; &lt;h3&gt;Pure T-SQL Code&lt;/h3&gt; &lt;p&gt;I wasn?t sure which session to attend first thing. Nothing really jumped out at me. I finally decided on ?Pure T-SQL Code? by Paul Nielsen for a couple of reasons. First, I had been following Paul on Twitter for a while. Second, I met him this past Spring at the MVP Summit. Third, my session followed his in the same room.&lt;/p&gt; &lt;p&gt;Paul is a very personable speaker. Right away he makes you feel like an old friend. I don?t write much TSQL in my job and some of the stuff he was doing was more complex than the simple scripts I write, but he was using real world examples that he?s written in his own applications. And you can get the same info. Pick up Paul?s book, SQL Server Bible. It?s all in there?and then some.&lt;/p&gt; &lt;p&gt;I also talked to Paul about coming to Salt Lake City next month for the &lt;a href="http://www.utcodecamp.com"&gt;Utah Code Camp&lt;/a&gt;. I hope he does. Great session.&lt;/p&gt; &lt;h3&gt;Architecting Modern Distributed Applications&lt;/h3&gt; &lt;p&gt;After Paul?s session, I did my ?Domain Driven Design for the Average Application? session, then it was lunch. The first session of the afternoon was ?Architecting Modern Distributed Applications? by Clint Edmondson.&lt;/p&gt; &lt;p&gt;There are a number of trends in distributed applications&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Service Oriented Architecture (SOA)&lt;/li&gt; &lt;li&gt;Software As A Service (SaaS)&lt;/li&gt; &lt;li&gt;Web 2.0&lt;/li&gt; &lt;li&gt;Rich Internet Applications (RIA)&lt;/li&gt; &lt;li&gt;Cloud Computing&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Each one of these has different strengths and weaknesses. How we choose one over another depends on what we need to accomplish. Clint then showed a number of slides that showed a path from one technology to another to show how we choose the technologies to use.&lt;/p&gt; &lt;h3&gt;Understanding User Experience Design Patterns&lt;/h3&gt; &lt;p&gt;Jason Beres of Infragistics did the next session, ?Understanding User Experience Design Patterns?. Working for a company that creates user interface controls gives him a unique perspective into how users work and what Ux they expect. &lt;/p&gt; &lt;p&gt;We can look at everyday things to figure out how usable they are. Jason showed some examples of good and bad Ux of both software and real things.&lt;/p&gt; &lt;p&gt;He showed some Ux patterns that we used based on how the user will use the software. These are all listed on a great patterns site called &lt;a href="http://quince.infragistics.com/"&gt;Quince&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;.NET Rocks, Live!&lt;/h3&gt; &lt;p&gt;One of the great .NET podcasts is &lt;a href="http://www.dotnetrocks.com/"&gt;.NET Rocks&lt;/a&gt;. Carl Franklin and Richard Campbell do an incredible job of getting guests, asking them the right questions, and entertaining us at the same time. The closing session of the conference was a panel discussion on the topic of ?Is Software Development Getting Too Complex?. On the panel was Billy Hollis, Kathleen Dollard, Josh Holmes, and Jim Holmes. The discussion was recorded for a future episode of .NET Rocks. Watch for it to be available soon.&lt;/p&gt; &lt;h3&gt;Epilogue&lt;/h3&gt; &lt;p&gt;This was my first time at DevLink, but I hope it?s not my last. It was simply one of the best conferences I?ve attended. The content was second-to-none. The venue was superb. The food was tasty and healthy. The networking was great. The price was even better. Three days of geek goodness for $100. The preliminary dates for DevLink 2010 are August 5-7. After the conference, Paul Nielsen Tweeted, ?DevLink is the best tech conference in North America. Period.? That?s a great endorsement. I hope to see you at DevLink next year.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-2950664249441331820?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/2950664249441331820/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=2950664249441331820" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/2950664249441331820" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/2950664249441331820" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/RLeZPCDwKfA/devlink-day-3.asp" title="DevLink Day 3" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/devlink-day-3.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-6659768634439952508</id><published>2009-08-19T22:22:00.001-06:00</published><updated>2009-08-19T22:22:07.268-06:00</updated><title type="text">DevLink Day 2</title><content type="html">&lt;p&gt;Day Two started off with loading attendees in my rental car and stopping at McDonalds for breakfast on the way to the venue. Meeting up with old friends is one of my favorite things at a conference. In the car were Rod Paddock and John V. Peterson, who I have known for a very long time. &lt;/p&gt; &lt;h3&gt;Beyond the Core Concepts of OOP&lt;/h3&gt; &lt;p&gt;When the DevLink sessions were announced, there were two sessions that jumped to the top of my ?Must See List?, both presented by Claudio Lassala. One was ?Design Patterns?, which unfortunately was scheduled at the same time as my ?Domain Driven Design for the Average Application? session. The other was ?Beyond the Core Concepts of OOP?. Claudio is another old friend and I knew his session would be great. He did not disappoint.&lt;/p&gt; &lt;p&gt;Claudio started out with a review of the core concepts of OOP. These are the things we all have heard about many times and should know. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Abstraction ? Can only focus on one thing at a time&lt;/li&gt; &lt;li&gt;Encapsulation ? Keep data private&lt;/li&gt; &lt;li&gt;Inheritance ? ?Is a? relationship&lt;/li&gt; &lt;li&gt;Polymorphism ? Objects shape shift around&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When creating classes, we need to remember the ?ilities?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Reusability&lt;/li&gt; &lt;li&gt;Extensibility&lt;/li&gt; &lt;li&gt;Maintainability&lt;/li&gt; &lt;li&gt;Testability&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;But wait, there?s more! To really use OOP properly we need to use the SOLID principles&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Single Responsibility Principle ? A class should have one and only one responsibility&lt;/li&gt; &lt;li&gt;Open/Closed Principle ? A class should be open for extension but closed for modification&lt;/li&gt; &lt;li&gt;Liskov Substitution Principle ? A subclass should be able to replace it?s parent class&lt;/li&gt; &lt;li&gt;Interface Segregation Principle ? Make fine-grained classes that are client specific&lt;/li&gt; &lt;li&gt;Dependency Inversion Principle ? Depend on abstractions, not concreteness&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This was a session that lots of meat and lots to think about afterwards, but the topic is so important to use as developers.&lt;/p&gt; &lt;h3&gt;JQuery 101&lt;/h3&gt; &lt;p&gt;The second session of the day was ?JQuery 101? by Rod Paddock. I?d heard alot about JQuery, but because I don?t do web development I?d never looked into it. If you do web development and aren?t using JQuery, you should be. &lt;/p&gt; &lt;p&gt;JQuery makes Javascript easy to use. It goes hand-in-hand with CSS. JQuery is a way to easily implement Javascript using CSS. Because it?s really powerful, it?s difficult to explain and show in a session summary. My best advice is to run, do not walk to your local bookstore and pick up book about JQuery.&lt;/p&gt; &lt;h3&gt;Being More Than a Code Monkey&lt;/h3&gt; &lt;p&gt;After Rod?s session, I did my session on ?Continuous Integration in .NET?, then it was time for lunch. Then I did some networking before the next session, ?Being More Than a Code Monkey? by Michael Wood. Because of the networking, I got to the session late. Too bad because Michael had some great points.&lt;/p&gt; &lt;p&gt;I?ve long expounded the importance of code standards and keep source code easy to read. After all, you?ll write it once but read it many times. I?ve used the book Code Complete by Steve McConnell as a guide. I recently picked up Clean Code by Robert Martin and have slowly been working through it. And, it seems it was used as the basis for Michael?s session.&lt;/p&gt; &lt;p&gt;Concepts such as what kinds of comments and how many are important. It turns out that most comments in code aren?t needed. If you write self-documenting code, even fewer are needed.&lt;/p&gt; &lt;p&gt;There are many more, but like I said, I got to the session late. Pick up Robert Martin?s book. I highly recommend it. &lt;/p&gt; &lt;h3&gt;Nashville Sounds&lt;/h3&gt; &lt;p&gt;After Michael Wood?s session I did a bit more networking, then left a bit early to drop off stuff at the hotel before going to the conference party at the Nashville Sounds baseball game. It?s a AAA team affiliated with the Milwaukee Brewers. I actually saw Nashville play in Salt Lake City a few days before DevLink started. This time they were at home facing Fresno.&lt;/p&gt; &lt;p&gt;A party patio at the stadium had been reserved for us and a great spread of hotdogs, hamburgers, and pulled pork was provided. The game was lots of fun. A great way to wind down from fantastic sessions.&lt;/p&gt; &lt;p&gt;After the game, I headed back to the hotel to do a run through of my Saturday session, then off to bed.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-6659768634439952508?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/6659768634439952508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=6659768634439952508" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6659768634439952508" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/6659768634439952508" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/f4lHr766NmU/devlink-day-2.asp" title="DevLink Day 2" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/devlink-day-2.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-7935696533498887415</id><published>2009-08-18T14:41:00.002-06:00</published><updated>2009-08-18T14:49:09.776-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DevLink" /><title type="text">DevLink Day 1</title><content type="html">&lt;p&gt;Thursday was the first official day of DevLink. Each session was three hours today, instead of the usual 75 minutes.&lt;/p&gt;&lt;h3&gt;Configuration Management with Team Foundation Server&lt;/h3&gt;&lt;p&gt;I attended "Configuration Management with Team Foundation Server" presented by VSTS MVP &lt;a href="http://www.platinumbay.com/blogs/"&gt;Steve Andrews&lt;/a&gt;. He started with a discussion of an MS Build file. MS Build is Microsoft's build engine. It ships as part of the .NET Framework. MS Build files have an extension of .proj. Both .csproj and .vbproj are already MS Build files, you just may not know that. MS Build files are XML, so they're easy to edit. In the Solution Explorer, right-click on the file and select Unload Project. Right-click again and select Edit. The project file will open in Visual Studio's XML editor.&lt;/p&gt;&lt;p&gt;But, Visual Studio doesn't know about .proj files, so you need to add in that support. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Select Tools –&amp;gt; Options from the Visual Studio menu. &lt;li&gt;Expand Text Editor and select File Extension.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/$vs013.jpg"&gt;&lt;/a&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 438px; DISPLAY: block; HEIGHT: 248px; CURSOR: hand" border="0" alt="" src="http://www.craigberntson.com/blog/uploaded_images/vs01-740313.jpg" /&gt; &lt;li&gt;Enter proj as the file extension then map it to the XML Editor.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;MS Build files have four main tags:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Targets – a collection of Tasks and containers &lt;li&gt;Tasks – Actions that MS Build will perform &lt;li&gt;Properties – Name/value pairs &lt;li&gt;Items – Individual items&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you add MS Build to the External Tools dialog, then you can call it from Visual Studio. &lt;/p&gt;&lt;p&gt;He talked about &lt;a href="http://msdn.microsoft.com/en-us/vstudio/cc308634.aspx"&gt;T4&lt;/a&gt;, a templating engine from Microsoft. I'll admit, T4 was entirely new to me. I've added it to my "need to look at" list, but admittedly, it will be awhile before I get to it.&lt;/p&gt;&lt;p&gt;Steve talked a bit about "Data Dude", which is Visual Studio for SQL guys. Since its release, it's been pulled into other VS editions. If you have VS Professional, you can get "Data Dude" for free. Why do you want it? Because it makes writing stored procs and designing and maintaining your database easier.&lt;/p&gt;&lt;p&gt;Steve also talked about Team Build, the team version of MSBuild. If you're working on a using TFS, you want to use Team Build.&lt;/p&gt;&lt;p&gt;This was a really good session that gave a great overview of working with MSBuild and Team Build.&lt;/p&gt;&lt;h3&gt;Thursday Afternoon&lt;/h3&gt;&lt;p&gt;I had planned to attend WPF 101 by Michael Eaton, but the room was packed. There wasn't even very much standing room. By the time I found out the session had been moved to a bigger room, it was really too late to go. So, I spent the afternoon networking…an often overlooked benefit of going to a conference. If you attend a conference and don't network, I think you've wasted your money.&lt;/p&gt;&lt;h3&gt;Keynote&lt;/h3&gt;&lt;p&gt;Thursday evening was the DevLink Keynote, given by &lt;a href="http://www.joshholmes.com/blog/"&gt;Josh Holmes&lt;/a&gt;. The topic was "The Lost Art of Simplicity". Josh started by providing a definition of and discussion of what simplicity is. There are a several reasons why we've lost simplicity:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Engineering – As software people, we often use the same tool for every job. We often don't understand how programming languages work. &lt;li&gt;Process – We get so caught up in how to do things that we don't look for ways to do things better. Sometimes we add process for process's sake. &lt;li&gt;Ux – The user experience should concentrate on function, then worry about aesthetics. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If we can simplify how we do things and make things simpler for our customers, it's a win all around.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-7935696533498887415?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/7935696533498887415/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=7935696533498887415" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7935696533498887415" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7935696533498887415" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/O6x_wBhm_EA/devlink-day-1.asp" title="DevLink Day 1" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/devlink-day-1.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-7840768451547400836</id><published>2009-08-17T10:35:00.001-06:00</published><updated>2009-08-17T10:35:45.290-06:00</updated><title type="text">DevLink Day 0</title><content type="html">&lt;p&gt;Never heard of &lt;a href="http://www.devlink.net"&gt;DevLink&lt;/a&gt;? Too bad. It's a small developer conference held in Nashville and it's fantastic! I had heard about it in the past, but never been there until this year. It's three days of jam packed geek goodness. I met lots of great people, connected with old friends, and learned lots, lots, lots. I also hope my sessions were interesting and informative. I'm always looking for input, good and bad. If you were in my sessions and have feedback, email me craig at craigberntson dot com.&lt;/p&gt; &lt;p&gt;Day 0 started off early. I took a red eye from Salt Lake City to Atlanta then a short jump to Nashville. I arrived Wednesday morning so I could attend the Community Summit that Microsoft was holding. I was at Pat's Bar-B-Que in downtown Nashville. This place is reported to be the best in the country and I have to say it was pretty dang good.&lt;/p&gt; &lt;p&gt;We started off playing a game. Sheets that contained the letters of the alphabet were handed out. The trick was that each letter was from the logo of some company. We had to figure out the company it came from without using the Internet. I still haven't figured them all out. The idea was to get us to meet other people and start talking to them.&lt;/p&gt; &lt;p&gt;After enjoying lunch, the discussions got started. First, it was important to define community. Three important items came up:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;We're a community of developers, no matter what language we use&lt;/li&gt; &lt;li&gt;We should learn from everyone&lt;/li&gt; &lt;li&gt;We should be teaching new people&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Jon Keller, who runs DevLink, then talked about how to build events:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;You must have a passion to help others and create a great event&lt;/li&gt; &lt;li&gt;Ability to talk to people you don't know&lt;/li&gt; &lt;li&gt;You need a reason to do the event. It should be done for the community. If you're doing it for your own reputation, it's for the wrong reason&lt;/li&gt; &lt;li&gt;The event must be reasonably priced&lt;/li&gt; &lt;li&gt;The topics need to be relevant&lt;/li&gt; &lt;li&gt;You must say no to sponsors who try to guide you and make the event more for them than the community&lt;/li&gt; &lt;li&gt;You must understand your target audience&lt;/li&gt; &lt;li&gt;Don't do it alone. Get some help&lt;/li&gt; &lt;li&gt;Have a great venue&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;We heard a brief overview of GiveCamp. There have been GiveCamps going on around the country. Basically, it's a weekend of coding and sharing, where the goal is to create an app, website, etc for a non-profit?and do it free of charge. Sounds like a great time and a better cause.&lt;/p&gt; &lt;p&gt;We then suggested topics for small open spaces groups and broke up into those groups. I chose a discussion on alternative user group formats. Unfortunately, the red eye caught up to me and I left early to get some sleep. But, here's what I gleaned from the discussion:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Hands-on presentation. We did this recently at the Utah .NET User Group for a presentation on doing TDD. It was a very effective way to present the topic. Just make sure the word gets out before the meeting so that everyone brings their laptop.&lt;/li&gt; &lt;li&gt;Geek dinners. We've had .NET User Group lunches here in Salt Lake in the past, but I'd like to see them more often&lt;/li&gt; &lt;li&gt;Fish bowls. This is kind of a panel discussion, but there is always one empty seat on the panel. Anyone in the audience can get up at anytime and take that seat, but someone on the panel has to go sit in the audience. You can't talk unless you're sitting as one of the panel. I participated in a fish bowl last year at Boise Code Camp and thought it was a great idea.&lt;/li&gt; &lt;li&gt;Give tokens for UG participation. After x number of tokens, you get a prize.&lt;/li&gt; &lt;li&gt;Code and coffee. This is a small gathering, usually six to eight people that meet for coffee (or your beverage of choice)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Microsoft said they will be aggregating all the discussions and posting them online. Once I get a link to them, I'll pass it along. A big thanks to Microsoft for putting this together.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-7840768451547400836?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/7840768451547400836/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=7840768451547400836" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7840768451547400836" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/7840768451547400836" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/eRB8ek3PEK4/devlink-day-0.asp" title="DevLink Day 0" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/devlink-day-0.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-1619801159390300656</id><published>2009-08-13T14:24:00.002-06:00</published><updated>2009-08-13T14:31:05.134-06:00</updated><title type="text">Speaking gigs scheduled</title><content type="html">I'm currently at &lt;a href="http://www.devlink.net/"&gt;DevLink&lt;/a&gt; in Nashville where I am speaking tomorrow on Continuous Integration in .NET and Saturday on Domain Driven Design for the Average Application. I have three other speaking gigs scheduled before the end of the year:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://utcodecamp.com/"&gt;Utah Code Camp&lt;/a&gt;, South Jordan, UT, Sept 19, Domain Driven Design for the Average Application&lt;br /&gt;&lt;a href="http://devcon.dfpug.de/"&gt;German DevCon&lt;/a&gt;, Frankfurt, Germany, Nov 12-14, Data Access Smackdown, Getting Started with Azure Services, Domain Driven Design for the Average Application &lt;div&gt;&lt;a href="http://www.socalcodecamp.com/"&gt;SoCal Code Camp&lt;/a&gt;, Los Angeles, CA, Nov 21-22, Domain Driven Design for the Average Application, Continuous Integration in .NET&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-1619801159390300656?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/1619801159390300656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=1619801159390300656" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/1619801159390300656" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/1619801159390300656" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/_840Sd-4Y0w/speaking-gigs-scheduled.asp" title="Speaking gigs scheduled" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/08/speaking-gigs-scheduled.asp</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-5060433.post-2582058057876344048</id><published>2009-04-24T13:44:00.001-06:00</published><updated>2009-04-24T13:44:14.628-06:00</updated><title type="text">What is the MVP Program?</title><content type="html">&lt;p&gt;Have you ever wondered what the Microsoft MVP program is about or how MVPs are selected? Toby Richards, who runs the MVP program at Microsoft, talks about. &lt;a href="http://cli.gs/9MU5Hr"&gt;http://cli.gs/9MU5Hr&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5060433-2582058057876344048?l=www.craigberntson.com%2Fblog%2Findex.asp' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/2582058057876344048/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5060433&amp;postID=2582058057876344048" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/2582058057876344048" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5060433/posts/default/2582058057876344048" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/craigberntsonDevBlog/~3/lsTAQCdbOds/what-is-mvp-program.asp" title="What is the MVP Program?" /><author><name>Craig Berntson</name><uri>http://www.blogger.com/profile/06386883781419438986</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="00074950594893893088" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.craigberntson.com/blog/2009/04/what-is-mvp-program.asp</feedburner:origLink></entry></feed>

