<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.jeffreypalermo.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Jeffrey Palermo (.com)</title><link>http://jeffreypalermo.com/</link><description>Chief Technology Officer, Headspring Systems</description><generator>Graffiti CMS 1.2 (build 1.2.0.2308)</generator><lastBuildDate>Tue, 24 Aug 2010 19:30:57 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.jeffreypalermo.com/jeffreypalermo" /><feedburner:info uri="jeffreypalermo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>jeffreypalermo</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Quality assurance is not testing</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/uzf-oLjsbX8/</link><pubDate>Tue, 24 Aug 2010 18:30:57 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/quality-assurance-is-not-testing/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>3</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;We at &lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt; have just posted our &lt;a href="http://blogs.headspring.com/2010/08/24/QualityAssurance.aspx"&gt;Quality Assurance article&lt;/a&gt; over at &lt;a href="http://blogs.headspring.com"&gt;http://blogs.headspring.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I’ll give a summary here of our view of QA.&amp;#160; Here are the main points:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Move QA before coding&lt;/strong&gt;      &lt;br /&gt;That’s right.&amp;#160; We are assuring quality of the whole result, not just the code.&amp;#160; If we code the whole thing, but the quality of the design or analysis wasn’t spot-on, we have a problem.&amp;#160; QA starts with analysis and goes through deployment and operations.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Unit testing vs. Full system testing&lt;/strong&gt;      &lt;br /&gt;Everyone is so caught up with unit testing and TDD, but full-system testing is the only type of testing that gives close to the coverage the system will experience in a production environment.&amp;#160; If you aren’t doing any type of automated testing, start with full-system testing, not unit tests.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Get to production quick, before the software is finished (ok, this is a point I wish were in the article)&lt;/strong&gt;      &lt;br /&gt;I’m actually expanding on it right here, but you will never have as clear a picture of whether something works until it it goes to production.&amp;#160; Until then, there is a risk that it will fail.&amp;#160; Get to production quick.&amp;#160; Sometimes, it seems that the type of problem or system just won’t work with an incremental rollout.&amp;#160; The hard problem to solve is how to not solve the whole problem right away.&amp;#160; How do we solve a piece of it quickly, but fully solve it.&amp;#160; In some cases, an incremental production rollout might be incremental by feature.&amp;#160; In others, it may be incremental by user group.&amp;#160; Still in other cases, live pilots may be appropriate.&amp;#160; In any case, old and new systems will need to be integrated.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Go check out the article &lt;a href="http://blogs.headspring.com/2010/08/24/QualityAssurance.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=uzf-oLjsbX8:zdlc8MFrEmM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=uzf-oLjsbX8:zdlc8MFrEmM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=uzf-oLjsbX8:zdlc8MFrEmM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/uzf-oLjsbX8" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/quality-assurance-is-not-testing/</feedburner:origLink></item><item><title>What is the difference in &lt;%: variable%&gt; and &lt;%= variable%&gt; in ASP.NET MVC?</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/143eV_lOYNI/</link><pubDate>Mon, 23 Aug 2010 13:21:26 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/what-is-the-difference-in-lt-variable-gt-and-lt-variable-gt-in-asp-net-mvc/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>3</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;With many folks adopting ASP.NET MVC as well as Visual Studio 2010, there is a fairly confusing change if you are one of those people who doesn’t engage in the alpha and beta phases of new product releases from Microsoft or any other vendor, for that matter.&lt;/p&gt;  &lt;p&gt;The issue of &amp;lt;%: vs. &amp;lt;%= has had a great deal of discussion around it in the years leading up to the Visual Studio 2010 release.&amp;#160; This new expression syntax, or code nugget, is a new feature of ASP.NET 4.&amp;#160; It applies equally to ASP.NET Web Forms and ASP.NET MVC applications that are using the Web Forms view engine (ASPX).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;In short, &amp;lt;%: ViewData[&amp;quot;Message&amp;quot;] %&amp;gt; does the same thing as &amp;lt;%= Html.Encode(ViewData[&amp;quot;Message&amp;quot;]) %&amp;gt;.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When creating a new ASP.NET MVC web application in Visual Studio 2010, you will see that the default Home/Index.aspx view is as follows.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/Whatisthedifferenceinvariableandv.NETMVC_7578/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/Whatisthedifferenceinvariableandv.NETMVC_7578/image_thumb.png" width="586" height="225" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;However, if you create an ASP.NET MVC 2 web application in Visual Studio 2008, you see that ViewData[“Message”] is printed using the syntax that heralds back to the IDC/HTX technology of IIS 2.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/Whatisthedifferenceinvariableandv.NETMVC_7578/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/Whatisthedifferenceinvariableandv.NETMVC_7578/image_thumb_1.png" width="583" height="224" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I hope this tidbit helps in sorting through code samples online.&amp;#160; If you see &amp;lt;%: %&amp;gt;, you know that the code sample was produced for ASP.NET 4 or later.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=143eV_lOYNI:sVNJxlVpoaQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=143eV_lOYNI:sVNJxlVpoaQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=143eV_lOYNI:sVNJxlVpoaQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/143eV_lOYNI" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/what-is-the-difference-in-lt-variable-gt-and-lt-variable-gt-in-asp-net-mvc/</feedburner:origLink></item><item><title>INETA comes on board as a sponsor of Party with Palermo!</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/AvxfiGy3whc/</link><pubDate>Mon, 17 May 2010 13:49:36 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/ineta-comes-on-board-as-a-sponsor-of-party-with-palermo/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>0</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;Thanks to &lt;a href="http://ineta.org"&gt;INETA&lt;/a&gt;, which has become the latest sponsor of &lt;a href="http://partywithpalermo.com/"&gt;Party with Palermo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ineta.org"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ineta300" border="0" alt="ineta300" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/INETAcomesonboardasasponsorofPartywithPa_7C21/ineta300_5.jpg" width="300" height="206" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=AvxfiGy3whc:Kel0wvSYwEw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=AvxfiGy3whc:Kel0wvSYwEw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=AvxfiGy3whc:Kel0wvSYwEw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/AvxfiGy3whc" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/ineta-comes-on-board-as-a-sponsor-of-party-with-palermo/</feedburner:origLink></item><item><title>Plugged in, not charging Windows 7 solution</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/3lwqgFSHKss/</link><pubDate>Wed, 12 May 2010 20:21:41 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/plugged-in-not-charging-windows-7-solution/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>3</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;I recently had the popular problem of Windows 7 battery manager malfunctioning and not charging my battery when plugged in.&amp;#160; The battery was fine, the power supply was fine, and the motherboard was fine (I have enough laptops with the same specs in the &lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt; office, and I was able to swap out parts to isolate the problem).&lt;/p&gt;  &lt;p&gt;I also searched for this problem online, and many folks are having this problem with all makes of laptop computers.&amp;#160; I found the steps that solved my problem &lt;a href="http://social.technet.microsoft.com/Forums/en/w7itproperf/thread/a983eb5d-fbc5-4b36-9fc5-9d24d4db6982"&gt;here on the TechNet forums&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;There are multiple solutions proposed, and here are the steps that fixed it for me:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Disconnect AC&lt;/li&gt;    &lt;li&gt;Shutdown&lt;/li&gt;    &lt;li&gt;Remove battery&lt;/li&gt;    &lt;li&gt;Connect AC&lt;/li&gt;    &lt;li&gt;Startup&lt;/li&gt;    &lt;li&gt;Under the Batteries category, right-click all of the &lt;strong&gt;&lt;a href="http://www.vistax64.com/#"&gt;Microsoft &lt;/a&gt;ACPI Compliant Control Method Battery&lt;/strong&gt; listings, and select Uninstall (it’s ok if you only have 1). &lt;/li&gt;    &lt;li&gt;Shutdown&lt;/li&gt;    &lt;li&gt;Disconnect AC&lt;/li&gt;    &lt;li&gt;Insert battery&lt;/li&gt;    &lt;li&gt;Connect AC&lt;/li&gt;    &lt;li&gt;Startup&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Please comment if this fixes your problem so that others can solve their problem sooner.&amp;#160; I was surprised at how many people were having this problem with Windows 7.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=3lwqgFSHKss:8axGHakfCVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=3lwqgFSHKss:8axGHakfCVs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=3lwqgFSHKss:8axGHakfCVs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/3lwqgFSHKss" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/plugged-in-not-charging-windows-7-solution/</feedburner:origLink></item><item><title>Jimmy Bogard to teach next MVC Boot Camp in Austin, TX on May 26th</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/oU82Zch2ors/</link><pubDate>Wed, 12 May 2010 13:49:21 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/jimmy-bogard-to-teach-next-mvc-boot-camp-in-austin-tx-on-may-26th/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>0</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://www.lostechies.com/blogs/jimmy_bogard/default.aspx"&gt;Jimmy Bogard&lt;/a&gt; is again teaching the MVC Boot Camp from &lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.headspringsystems.com/services/agile-training/mvc-training/"&gt;http://www.headspringsystems.com/services/agile-training/mvc-training/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The class runs 3 days from May 26-28.&amp;#160; Give us a call at 512-459-2260 to inquire about an available discount.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=oU82Zch2ors:fKz0buVBaFc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=oU82Zch2ors:fKz0buVBaFc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=oU82Zch2ors:fKz0buVBaFc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/oU82Zch2ors" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/jimmy-bogard-to-teach-next-mvc-boot-camp-in-austin-tx-on-may-26th/</feedburner:origLink></item><item><title>Version Control &amp; Build Systems – free Headspring on 5/18</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/yl7Yock5yGA/</link><pubDate>Fri, 07 May 2010 15:13:37 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/version-control-amp-build-systems-ndash-free-headspring-workshop-this-tuesday/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>3</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt; is putting on another &lt;a href="http://www.headspringsystems.com/community/workshop/"&gt;&lt;strong&gt;free workshop&lt;/strong&gt;&lt;/a&gt; at the Austin Microsoft office.&amp;#160; This one will be led by Senior Consultant, &lt;a href="http://www.lostechies.com/blogs/eric/"&gt;Eric Anderson&lt;/a&gt;.&amp;#160; Here are the details:&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;Headspring Presents:&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;&lt;em&gt;Version Control and Build Systems for Growing Teams a workshop by &lt;a href="http://www.lostechies.com/blogs/eric/"&gt;Eric Anderson&lt;/a&gt;&lt;/em&gt; on:&lt;/p&gt;  &lt;p&gt;Does your team run into frequent conflicts with source control? Has your build system become a broken window with little hope of repair? Do you struggle to deploy minor changes and bug fixes while keeping the system stable? If so, perhaps this session is for you. Come learn how &lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt; tackles these problems with source control strategies and continuous integration systems. This session will start at an introductory level and move on to more advanced tips and tricks for generally making your development life easier with version control and continuous integration.&lt;/p&gt;  &lt;p&gt;Topics to be covered include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Branching strategies in Subversion &lt;/li&gt;    &lt;li&gt;Branching strategies in DVCS with Mercurial &lt;/li&gt;    &lt;li&gt;Continuous Integration with Hudson &lt;/li&gt;    &lt;li&gt;Continuous Integration with CruiseControl.Net&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Tuesday, May 18, 2010   &lt;br /&gt;2:00 PM to 4:00 PM&lt;/p&gt;  &lt;p&gt;Microsoft hosts Headspring at:   &lt;br /&gt;Microsoft Technology Center    &lt;br /&gt;9606 N Mo Pac Expy    &lt;br /&gt;Austin, TX 78759    &lt;br /&gt;(&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=9606+N+Mo+Pac+Expy,+Austin,+TX+78759&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=49.310476,78.574219&amp;amp;ie=UTF8&amp;amp;ll=30.385611,-97.736092&amp;amp;spn=0.211461,0.306931&amp;amp;z=12&amp;amp;iwloc=A"&gt;map&lt;/a&gt;)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=yl7Yock5yGA:wPQ-meVCgPQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=yl7Yock5yGA:wPQ-meVCgPQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=yl7Yock5yGA:wPQ-meVCgPQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/yl7Yock5yGA" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/version-control-amp-build-systems-ndash-free-headspring-workshop-this-tuesday/</feedburner:origLink></item><item><title>Headspring training:  What would you like to see?</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/1OrZ1Q3XIwE/</link><pubDate>Mon, 03 May 2010 21:22:04 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/headspring-training-what-would-you-like-to-see/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>1</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;Since January of 2008, &lt;a href="http://www.headspring.com/"&gt;Headspring&lt;/a&gt; has offered small, very advanced boot camp trainings.&amp;#160; These have been 3 days long and very fast-paced.&amp;#160; Everyone who has come through these training classes has proclaimed that they are the best organized courses they have ever taken.&amp;#160; Our approach to any of the boot camps is to team the practices that we employ while creating software for our clients.&lt;/p&gt;  &lt;p&gt;We have an &lt;a href="http://www.headspringsystems.com/services/agile-training/mvc-training/"&gt;ASP.NET MVC Boot Camp&lt;/a&gt; coming up on 5/26 as well as an &lt;a href="http://www.headspringsystems.com/services/agile-training/agile-boot-camp/"&gt;Agile Boot Camp&lt;/a&gt; on 5/19.&lt;/p&gt;  &lt;p&gt;First and foremost, Headspring does deliverable-based project work.&amp;#160; We don’t do staff-augmentation, and we don’t sell our curriculum to training companies (mostly because we are always improving it).&amp;#160; These classes teach what we have learned regarding technologies and development practices via software projects with client.&amp;#160; Regarding ASP.NET MVC, four of our employees are authors on a &lt;a href="http://bit.ly/aspnetmvc2inaction"&gt;book by Manning Publications&lt;/a&gt; on the topic.&lt;/p&gt;  &lt;p&gt;If you would like to know more about our worldview of software and consulting, you can read our whitepapers, which are available via our website at &lt;a href="http://headspring.com"&gt;http://headspring.com&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.headspringsystems.com/CustomApplicationDevelopment.pdf"&gt;Custom Application Development&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.headspringsystems.com/AgileDifference.pdf"&gt;The Agile Difference&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Lastly, I ask, what would you like to see from Headspring to help you be better at your job?&amp;#160; I’m mostly asking programmers and people who manage programmers here.&amp;#160; We try to be an open book regarding our methods, so sharing is important.&amp;#160; There are many technologies and methods in which we are experts.&amp;#160; What offerings would you take part in?&amp;#160; Specifically, what offerings would you or your company be willing to invest in (with dollars)?&amp;#160; Let me know, and I’ll see what I can do to make them available.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=1OrZ1Q3XIwE:v3I6C9nOApA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=1OrZ1Q3XIwE:v3I6C9nOApA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=1OrZ1Q3XIwE:v3I6C9nOApA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/1OrZ1Q3XIwE" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/headspring-training-what-would-you-like-to-see/</feedburner:origLink></item><item><title>Party with Palermo, Tech Ed 2010 save the date!</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/ZOY-217NkNI/</link><pubDate>Wed, 28 Apr 2010 07:01:00 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/party-with-palermo-tech-ed-2010-save-the-date/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>0</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://partywithpalermo.com"&gt;Party with Palermo&lt;/a&gt; is back at &lt;a href="http://www.microsoft.com/events/techednorthamerica/"&gt;Tech Ed, New Orleans&lt;/a&gt; in 2010.&amp;nbsp; The date is:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;June 6, 2010 at around 7PM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Location&lt;strong&gt;:&amp;nbsp; Margaritaville&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The party will once again have Diamond Sponsor of &lt;a href="http://www.codeproject.com/"&gt;The Code Project&lt;/a&gt;, so thanks to them!&amp;nbsp; Keep an eye here for announcements of more details and a registration page.&amp;nbsp;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=ZOY-217NkNI:XRhcYrRC0Dc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=ZOY-217NkNI:XRhcYrRC0Dc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=ZOY-217NkNI:XRhcYrRC0Dc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/ZOY-217NkNI" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/party-with-palermo-tech-ed-2010-save-the-date/</feedburner:origLink></item><item><title>Read all of ASP.NET MVC 2 in Action now while you wait for the printed book</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/FkQkFzOug4Q/</link><pubDate>Tue, 27 Apr 2010 16:40:23 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/read-all-of-asp-net-mvc-2-in-action-now-while-you-wait-for-the-printed-book/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>25</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://bit.ly/aspnetmvc2inaction"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/Rea.NETMVC2inActionnowwhileyouwaitforthe_A372/image_5.png" width="197" height="244" /&gt;&lt;/a&gt; First, you should place your advance order for &lt;a href="http://bit.ly/aspnetmvc2inaction"&gt;ASP.NET MVC 2 in Action&lt;/a&gt; at &lt;a href="http://manning.com/palermo2"&gt;http://manning.com/palermo2&lt;/a&gt;.&amp;#160; That way, you will receive the printed book even before you see it at your local bookstore.&amp;#160; &lt;/p&gt;  &lt;p&gt;The entire book is finished, and we are just moving through production right now.&amp;#160; But that doesn’t mean you have to wait to read it and learn about ASP.NET MVC 2.&amp;#160; Since the beginning of the book project, you have been able to see the progression of the book on GitHub, our project site and version control system.&amp;#160; That’s right, version control is for more than just code!&lt;/p&gt;  &lt;p&gt;Head over to &lt;a href="http://github.com/jeffreypalermo/mvc2inaction"&gt;http://github.com/jeffreypalermo/mvc2inaction&lt;/a&gt; and go to the “manuscript” folder to read the entire book in Word document form.&amp;#160; All the content is there.&amp;#160; In fact, the Word documents for the 1st edition is there as well.&amp;#160; You can see just how much we have expanded the 2nd edition to not only cover version 2 but also to incorporate lessons learned using the framework over the last 2 years.&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 5px 0px 0px; display: inline" alt="Creative Commons License" align="left" src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png" /&gt;You will notice that the raw files in GitHub are released under the &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"&gt;Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License&lt;/a&gt;.&amp;#160; That means you can use the content in blog posts, whitepapers, and you can use the code samples in any way you like.&amp;#160; The only restriction, really, is that you have to give us credit if you republish portions of it (and you can NOT republish the full work, of course), and you can’t resell our work.&amp;#160; Other than that, use it the best way you can.&amp;#160; We hope it is a great learning tool for you, and we hope that releasing the raw files early help you get a jump-start learning about ASP.NET MVC 2.&lt;/p&gt;  &lt;p&gt;Credits:&lt;/p&gt;  &lt;p&gt;Authors:&amp;#160; &lt;a href="http://jeffreypalermo.com"&gt;Jeffrey Palermo&lt;/a&gt;, &lt;a href="http://flux88.com/"&gt;Ben Scheirman&lt;/a&gt;, &lt;a href="http://www.lostechies.com/blogs/jimmy_bogard/default.aspx"&gt;Jimmy Bogard&lt;/a&gt;, &lt;a href="http://www.lostechies.com/blogs/hex/"&gt;Eric Hexter&lt;/a&gt;, &lt;a href="http://mhinze.com/"&gt;Matt Hinze&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Technical Editor:&amp;#160; &lt;a href="http://www.jeremyskinner.co.uk/"&gt;Jeremy Skinner&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Foreword:&amp;#160; &lt;a href="http://haacked.com"&gt;Phil Haack&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;P.S.&amp;#160; I wish I could say that we are pioneers in this, but I have personally benefited from two others I know about who have worked on their books “out in the open”:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://github.com/casualjim/ironrubyinaction"&gt;Iron Ruby in Action&lt;/a&gt; (available during writing)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://tech.groups.yahoo.com/group/art-of-agile/"&gt;The Art of Agile Development&lt;/a&gt; (need to sign in to Yahoo)&lt;/li&gt; &lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=FkQkFzOug4Q:C0xyp9b5t2I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=FkQkFzOug4Q:C0xyp9b5t2I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=FkQkFzOug4Q:C0xyp9b5t2I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/FkQkFzOug4Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/read-all-of-asp-net-mvc-2-in-action-now-while-you-wait-for-the-printed-book/</feedburner:origLink></item><item><title>Automating ASP.NET MVC deployments using Web Deploy</title><link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/GSiO3DKUnXc/</link><pubDate>Mon, 12 Apr 2010 03:13:33 GMT</pubDate><guid isPermaLink="false">http://jeffreypalermo.com/blog/automating-asp-net-mvc-deployments-using-web-deploy/</guid><dc:creator>Jeffrey Palermo</dc:creator><slash:comments>2</slash:comments><category domain="http://jeffreypalermo.com/blog/">Blog</category><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The following is an excerpt from &lt;a href="http://manning.com/palermo2"&gt;ASP.NET MVC 2 in Action&lt;/a&gt;, a book from Manning to be in bookstores in May.&amp;#160; The early access (MEAP) edition is available now on &lt;a href="http://manning.com/palermo2"&gt;http://manning.com/palermo2&lt;/a&gt;.&amp;#160; Authors include &lt;a href="http://jeffreypalermo.com"&gt;Jeffrey Palermo&lt;/a&gt;, &lt;a href="http://flux88.com/"&gt;Ben Scheirman&lt;/a&gt;, &lt;a href="http://www.lostechies.com/blogs/jimmy_bogard/default.aspx"&gt;Jimmy Bogard&lt;/a&gt;, &lt;a href="http://mhinze.com/"&gt;Matt Hinze&lt;/a&gt;.&amp;#160; Technically edited by &lt;a href="http://www.jeremyskinner.co.uk/"&gt;Jeremy Skinner&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;17.4 Enabling remote server deployments with Web Deploy &lt;/h2&gt;  &lt;p&gt;After getting a deployment script that can set up your application and database, the next step is to take on the challenge of pushing deployments to multiple servers. The key takeaway is that by automating the task of deployment, you can eliminate all the manual steps that are prone to errors. &lt;/p&gt;  &lt;p&gt;In order to eliminate the need to log on to servers one by one, an additional technology is needed. This is where the &lt;a href="http://www.iis.net/download/WebDeploy"&gt;Web Deployment Tool&lt;/a&gt; (formerly named MSDeploy) comes into play. You can download it from http://www.iis.net/expand/webdeploy. This tool provides a host of features and functions, , but the features most important for our deployment approach are&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The ability to sync files over HTTP&lt;/li&gt;    &lt;li&gt;The ability to execute a remote command&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These features support both enterprise and hosted environments, and the scripts can be used for both preproduction environments and production environments.&lt;a name="a"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Typically, for web applications, there will be a development server that hosts the web application and database on the same machine. The quality assurance (QA) environment may be set up the same way. Then, in the staging and production environments, more servers come into play. There may be a separate database server, multiple web servers, and even an application server. Automating a deployment to multiple machines can become complex very quickly. &lt;a&gt;&lt;/a&gt;&lt;a&gt;In order to reduce the complexity, Web Deploy&lt;/a&gt; can be used to sync files to multiple machines and execute the deployment script on each server. It can also run remotely so that deployments execute the same way that they would in the development environment.&lt;/p&gt;  &lt;p&gt;Listing 17.4 shows the command-line arguments used to copy deployment files from a build server to a web server and then run the deployment. &lt;/p&gt;  &lt;h3&gt;Listing 17.4 Using Web Deploy to remotely execute a deployment&lt;/h3&gt;  &lt;pre class="csharpcode"&gt;msdeploy.exe  -verb:sync -source:dirPath=deploymentFiles               |&lt;span class="rem"&gt;#1&lt;/span&gt;
-dest:dirPath=&lt;span class="str"&gt;'c:\installs'&lt;/span&gt;,computername=192.168.1.34                  |&lt;span class="rem"&gt;#1&lt;/span&gt;

msdeploy.exe  -verb:sync                                               |&lt;span class="rem"&gt;#2&lt;/span&gt;
  -source:runCommand=&lt;span class="str"&gt;'c:\installs\dev.bat'&lt;/span&gt;                             |&lt;span class="rem"&gt;#2 &lt;/span&gt;
  -dest:auto,computername=192.168.1.34                                 |&lt;span class="rem"&gt;#2&lt;/span&gt;
&lt;span class="rem"&gt;#1 Copy files to remote server&lt;/span&gt;
&lt;span class="rem"&gt;#2 Execute command on remote server&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;
  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
First, msdeploy.exe is called with the sync verb specifying a source directory on the local machine (#1). This command copies all the files inside the deploymentFiles directory (C:\installs) to the remote server (in this case, the computer with the IP address 192.168.1.34). &lt;/p&gt;

&lt;p&gt;Next, msdeploy.exe is called with the sync verb, but this time the runCommand argument is specified (#2). This means that Web Deploy will execute the batch file at c:\installs\dev.bat on the remote server in the same way you would run it if you logged in via remote desktop. &lt;/p&gt;

&lt;p&gt;Using a technology like Web Deploy can greatly simplify a complex deployment. By running each command locally on each server in the deployment, scripts will run consistently from the development environment through the production environment. The real advantage is that the calls to msdeploy.exe can be scripted, which means that a multiserver deployment can be totally automated and repeatable. Scripting this type of deployment also means that from a single machine you can monitor a deployment and see the results of each script consolidated on your desktop.&lt;/p&gt;

&lt;h2&gt;17.5 Summary&lt;/h2&gt;

&lt;p&gt;When we configure our environment, we must devise a reliable deployment strategy to ensure that the right application is deployed with the correct configuration. At the heart of a solid deployment strategy is continuous integration, which includes practices such as automated deployments and self-testing builds. &lt;/p&gt;

&lt;p&gt;With free, widely used open source tools such as CruiseControl.NET, NAnt, NUnit, and others, we can create an automated build and deployment server. By packaging NAnt, a build script, and a bootstrap batch file, we can harness the flexibility and power of NAnt to deploy and configure our application to multiple environments, up to and including production. By layering on the Web Deploy tool to reduce the friction of copying and executing the build scripts across multiple servers, we can have a totally automated solution that’s repeatable and reliable.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=GSiO3DKUnXc:6Na0EADaMFo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=GSiO3DKUnXc:6Na0EADaMFo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=GSiO3DKUnXc:6Na0EADaMFo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/GSiO3DKUnXc" height="1" width="1"/&gt;</description><feedburner:origLink>http://jeffreypalermo.com/blog/automating-asp-net-mvc-deployments-using-web-deploy/</feedburner:origLink></item></channel></rss>
