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

<channel>
	<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? $25.00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; ALT.NET</title>
	<atom:link href="http://elegantcode.com/category/user-group/altnet-user-group/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Cast 30 &#8211; Story Teller with Jeremy Miller</title>
		<link>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-30-story-teller-with-jeremy-miller</link>
		<comments>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 17:38:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/</guid>
		<description><![CDATA[The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller. Jeremy’s other contributions to the community include StructureMap and an obtuse fascination with separation patterns for user interfaces. Story Teller is an alternative for Fitnesse, implemented in .NET and chases [...]]]></description>
			<content:encoded><![CDATA[<p>The venerable Jeremy Miller joined us to talk about YAIJMOSP (Yet Another Impressive Jeremy Miller Open Source Project). This week’s Jeremy project is Story Teller.</p>  <p>Jeremy’s other contributions to the community include <a href="http://codebetter.com/blogs/products/pages/131734.aspx">StructureMap</a> and an <a href="http://www.virtualaltnet.com/Recordings">obtuse fascination with separation patterns</a> for user interfaces.</p>  <p>Story Teller is an alternative for Fitnesse, implemented in .NET and chases the holy grail of executable requirements. If you are interested in how to achieve the promise of shared and executable requirements, this just might be your tool.</p>  <ul>   <li><a href="http://storyteller.tigris.org/">Story Teller</a> </li>    <li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2009/08/24/how-about-a-storyteller-preview-release.aspx">Jeremy’s StoryTeller post on a preview release</a> </li> </ul>  <p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3">Get the show here</a></p>  <p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img border="0" alt="View in iTunes" src="http://elegantcode.com/cast/files/images/itunes_button.gif" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img border="0" alt="Any Podcatcher" src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/code-cast-30-story-teller-with-jeremy-miller/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_30_StoryTeller.mp3" length="36208890" type="audio/mpeg" />
		</item>
		<item>
		<title>Olympia Software Craftsmanship Workshop &#8211; Postmortem</title>
		<link>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=olympia-software-craftsmanship-workshop-postmortem</link>
		<comments>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:01 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/</guid>
		<description><![CDATA[On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from. Things That Went Well I was impressed by everyone's enthusiasm. I was a little worried that we [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, some of us folks from the Seattle ALT.NET community held a workshop in Olympia, covering some software craftsmanship principles. Overall, I think the workshop went pretty well, with the usual assortment of things to learn from.</p>  <h2>Things That Went Well</h2>  <ul>   <li>I was impressed by everyone's enthusiasm. I was a little worried that we were under-prepared going in, but the enthusiasm and depth of knowledge that the presenters shared was impressive.</li>    <li>People really liked the Outside-in Testing (Jeff Olson) and TDD sessions (Robin Clowers). These had the most code shown during their presentations, which, I think, says something.</li>    <li>The facilities were just about right. We were a tiny bit over capacity (technically we were under, but it didn't feel that way to me.)</li>    <li>We had the right refreshments and stuff to keep people from getting hungry and distracted. At one point, someone I know asked if we had anything besides pizza, as he has dietary reasons for avoiding it. I felt bad and told him no, making a mental note that we should have some other food available next time, until I realized Anne had prepared Salad and lunch meats. Yay!</li> </ul>  <h2>To Work on for Next Time</h2>  <ul>   <li>We tried to cover way to much ground for one day. I think we all knew this going in, but were just in denial or something. <strong>Next time</strong>: I think we're going to cover just one topic.</li>    <li>We hardly got to show any code. I had code that I wanted to show for both the refactoring and patterns talks that I didn't even get to. I got to show a tiny bit of code in the refactoring talk, but I had a whole series of small refactorings I wanted to do but didn't. I think we went over in a few of the earlier sessions, it felt right then, but then it compressed the sessions for the rest of the day. The one person that just showed code the whole time, Robin, received props for that. <strong>Next time</strong>: no slides for me.</li>    <li>We asked people to bring laptops, then never worked on any code. This was mostly a side effect of the above, I think. <strong>Next time</strong>: give them the code ahead of time and use the pauses while people catch up with coding tasks to answer off-the-rails questions.</li>    <li>Some people weren't into the whole &quot;be interactive&quot; thing. At the start of the workshop we asked everyone to shout out questions as soon as they had them, but some felt this led to derailment. <strong>Next time</strong>: I think we'll save space at the end or at pre-determined spots for questions, although I personally feel this leads to people forgetting their questions.</li>    <li>We (the hosts) didn't communicate enough before the event and I think it showed. <strong>Next time</strong>: I think we need to get together on a Saturday a few weeks before the event and make sure we're all on the same page. I think this is one area where I personally did a pretty poor job, kind of assuming everyone was &quot;directionally correct&quot; and just kind of knew what to do. For the most part this was true, but I think this will be something we improve upon.</li>    <li>Using git and markdown was great for the geekier amongst us, but proved a burden for some of the presenters and the attendees. <strong>Next time</strong>: git for us to share the code, zip files (skydrive?) for everything else and for code for the attendees to download.</li> </ul>  <p>In summary, I think the loudest message was: more code. I am in total agreement and I usually don't like to use any slides at all if I can help it, but somehow got the wrong headed idea that I needed to have something to look at while I did the talking, intro-part of my sessions.</p>  <p>I also tried rehearsing more than usual for this and it turned out to be a complete waste of time. The actual session went wayyyy slower than then I rehearsed. I must be doing it wrong. <font color="#008000">// TODO: Imagine Arun     <br />asking questions while I am rehearsing.</font></p>  <p>It sounded like the majority of the attendees would like to come back for another session like this, more focused on one topic. The organizers are going to hold a skype retrospective sometime in the next few days and figure out what we want to do next.</p>  <p>I’d like to give mass props to the people that made this happen: <a href="http://www.aboutjustin.com/">Justin Bozonier</a>, <a href="http://twitter.com/RobinClowers">Robin Clowers</a>, <a href="www.iamnotmyself.com">Bobby Johnson</a>, <a href="http://twitter.com/olsonjeffery">Jeff Olson</a>, <a href="http://twitter.com/trevorrotzien">Trevor Rotzien</a>, and <a href="http://twitter.com/qrose57">Anne Wax</a>. Together we are helping ALT.NET grow from a small fringe group into something that’s doing real work and making things better than when we got here. </p>  <p>&#160;</p>  <p><strong>UPDATE</strong>: We actually held the retrospective last night. We're planning another event soon, possibly in more locations, something more focused. Keep your eyes peeled.    </p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/06/09/olympia-software-craftsmanship-workshop-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Announcing: Olympia Software Craftsmanship Workshop</title>
		<link>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-olympia-software-craftsmanship-workshop</link>
		<comments>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/#comments</comments>
		<pubDate>Tue, 05 May 2009 14:29:29 +0000</pubDate>
		<dc:creator>cbilson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=2326</guid>
		<description><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started [...]]]></description>
			<content:encoded><![CDATA[Some of us folks from ALT.NET Seattle have been working on putting together a workshop for developers in Olympia, WA, focusing on Software Craftsmanship – which, to us, means caring about our craft and applying the principles we know work to what we are doing. The workshop is inspired by some of the discussions started in the much despised, “<a href="http://altnetseattle.pbworks.com/Why-So-Mean">Why So Mean</a>” session at the <a href="http://altnetseattle.pbworks.com/">recent Seattle ALT.NET conference</a>, as well as discussions in the follow up (and less controversial) “<a href="http://altnetseattle.pbworks.com/ALTNET-Pedagogy">ALT.NET Pedagogy</a>” session, as well as what <a href="http://twitter.com/briandonahue">@briandonahue</a> has been doing in Philadelphia with the "<a href="http://persistall.com/archive/2009/01/14/introducing-the-quotfoundation-seriesquot.aspx">Foundation Series</a>.”

I am hoping this will raise the bar a little bit and get more people walking the walk. My view has always been that we all have to work together, so better to get everyone up to speed on what’s working and what’s not, and for as many people to be passionate and excited about the work they are doing as possible.

Anyway, here’s the official announcement:
<blockquote>You're at work and you catch yourself writing another 100 line method that you can't test and really can't even understand. You scour the internet for ideas but there are so many ideas. Some say don't test, others says don't test anything, still others say test every keystroke! You just let your head drop to your desk with a solid thud. You think to yourself, "Is this really the best I can do?"

The Olympia Software Craftsmanship Workshop is one day workshop, developed with the intention of increasing the level of awareness of practices and skills that can improve our software.

Any developer interested in improving and learning new skills is welcome. If you can bring a laptop, please do. We will provide the software you need. If you can't bring a laptop, don't worry, you can pair up with someone who has one.

*************************************************************************

What: Olympia Software Craftsmanship Workshop

Where: Olympia Center, 222 Columbia St NW, Olympia, WA 98501

When: Saturday June 6, 2009.  10 am to 4 pm

How much does it cost? .00 to cover the cost of the facility and lunch.

How do I sign up? Go to <a href="http://www.olympiasoftwarecraftsmanship.org" target="_blank">www.olympiasoftwarecraftsmanship.org</a>

The workshop is hosted by members of the South Sound.NET users group and Alt.Net Seattle who want to help others build better software.

For more information: <a href="http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master">http://github.com/altnetseattle/olympia_software_craftsmanship_workshop/tree/master</a>

Or contact Bobby Johnson at <a href="mailto:bobby.johnson@gmail.com">bobby.johnson@gmail.com</a></blockquote>
I hope to see some of you there!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/05/05/announcing-olympia-software-craftsmanship-workshop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting Rescheduled</title>
		<link>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-rescheduled</link>
		<comments>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 20:16:31 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/</guid>
		<description><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-). For our next try, Greg Young is still kind enough to share his wisdom on Domain-Driven Design [...]]]></description>
			<content:encoded><![CDATA[Due to some technical difficulties, we were forced to reschedule the first European VAN meeting. It seems that using Office Live Meeting on a Mac is not a great combination. I guess we don't have beginners luck :-).

For our next try, <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a> is still kind enough to share his wisdom on Domain-Driven Design with us mere mortals. Everyone is still welcome, no matter which continent you are residing.

Here are the details for next week:

<strong>Start Time:</strong> Monday, Feb 09, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 09, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

If this one still doesn't work out, then at least we have a <a href="http://colinjack.blogspot.com/2009/02/first-europe-van_02.html" target="_blank">backup plan</a>.

Hope the hear you soon,

Jan, the miscarried]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/02/02/european-virtual-altnet-meeting-rescheduled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a FubuMVC Project from Scratch</title>
		<link>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-a-fubumvc-project-from-scratch</link>
		<comments>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 04:29:13 +0000</pubDate>
		<dc:creator>Ryan Kelley</dc:creator>
				<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[FubuMVC]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/</guid>
		<description><![CDATA[I am going to start a series of articles on using FubuMVC for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do [...]]]></description>
			<content:encoded><![CDATA[I am going to start a series of articles on using <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC</a> for web projects. I have several reason for writing these, one of which is FubuMVC has a lack of documentation right now, so these articles will help out that cause. Also I am starting to do mostly web work, and want to do these apps with FubuMVC as opposed to <a href="http://www.asp.net/mvc" target="_blank">Asp.net MVC</a>. (This is purely for personal reasons).
<h3>Upcoming Topics:</h3>
Setting up the Bootstrapper and Global.asax
Creating Models, Views, and Controllers with FubuMVC
Adding database connectivity
Using HTML helpers

I will most likely cross post these to the <a href="http://fubumvc.pbwiki.com" target="_blank">FubuMVC wiki</a> once they are refined and final, so if any of you have comments, ways to do things better, or find things I should explain or do differently, please leave me a comment.
<h3>Before You Begin</h3>
Before you start your setup, head over to the <a href="http://fubumvc.googlecode.com/" target="_blank">FubuMVC website</a>, grab the latest version of the source and compile it. This way you will have the references I am using below.
<h3>Project Setup</h3>
The first thing you need to do is go setup your project and folder structure. I am not going to detail the process here, because most people have thier own preferences and naming conventions but for my sampl I will be using the following folder structure:
<ul>
	<li>FubuSample
<ul>
	<li>lib</li>
	<li>src
<ul>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuSample.Tests</li>
	<li>FubuSample.sln</li>
</ul>
</li>
</ul>
</li>
</ul>
You may have noticed above that I am using three different projects: FubuSample.Core (class library), FubuSample.Web (Web Application) and FubuSample.Tests (class library). Setup these projects and we will move on, mine look like this:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1.png" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv1" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv1-thumb.png" border="0" alt="FubuSampleProjectSetupv1" width="305" height="330" /></a>

Got it, great. Next thing I am going to do is add references required for FubuMVC to work. I added the following references to my projects:
<ol>
	<li>
<ol>
	<li>FubuSample.Core
<ol>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Web
<ol>
	<li>FubuSample.Core</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>StructureMap</li>
	<li>Microsoft.Practices.ServiceLocation</li>
</ol>
</li>
	<li>FubuSample.Tests
<ol>
	<li>FubuSample.Core</li>
	<li>FubuSample.Web</li>
	<li>FubuMVC.Core</li>
	<li>FubuMVC.Container.StructureMap</li>
	<li>NUnit.Framework</li>
	<li>Rhino.Mocks</li>
	<li>StructureMap</li>
</ol>
</li>
</ol>
</li>
</ol>
Once all the references are are in your 3 projects, you are almost ready to get going. The next thing to do is to setup a basic folder structure inside your projects. In the web project I added a Views folder and a Content folder; under the content folder I added seperate folders for images, scripts and stylesheets. Moving on to the Core project I added top level folders for  Config, Domain, and Web. Under the Web folder I also added folders named Controllers, DisplayModels, Html, and WebForms. My folder structure now looks like this for my projects:

<a href="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="FubuSampleProjectSetupv2-AfterFolders" src="http://elegantcode.com/wp-content/uploads/2009/01/fubusampleprojectsetupv2afterfolders-thumb.png" border="0" alt="FubuSampleProjectSetupv2-AfterFolders" width="315" height="523" /></a>

I should also mention that the folder structure / layout I am using here, is following the Default conventions for FubuMVC, this can be customized to suit your needs however, but that is another post.

Next up, setting up the Bootstrapper, Global.asax and Web.config for FubuMVC]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/30/setting-up-a-fubumvc-project-from-scratch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>European Virtual ALT.NET Meeting on 02/02/2009</title>
		<link>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=european-virtual-altnet-meeting-on-02022009</link>
		<comments>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:43:16 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[E-VAN]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/</guid>
		<description><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, Greg Young is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe. Start Time: [...]]]></description>
			<content:encoded><![CDATA[The first 'official' virtual ALT.NET meeting for the old continent has been scheduled for next Monday (02/02/2009). For this first one, <a href="http://codebetter.com/blogs/gregyoung/" target="_blank">Greg Young</a> is kind enough to share some of his wisdom regarding Domain-Driven Design. Everyone who believes that he's geek enough is free to attend, even if you're not living in Europe.

<strong>Start Time:</strong> Monday, Feb 02, 2009 7:00 PM GMT

<strong>End Time:</strong> Monday, Feb 02, 2009 09:00 PM GMT

<strong>Attendee URL:</strong> <a href="http://snipr.com/virtualaltnet">http://snipr.com/virtualaltnet</a> (Live Meeting)

Needless to say that I'm really looking forward to this. Hope to virtually meet you there.

Thanks to <a href="http://www.zachariahyoung.com/" target="_blank">Zachariah  Young</a> for setting up Office Live Meeting and <a href="http://colinjack.blogspot.com/" target="_blank">Colin Jack</a> for  co-organizing this thing.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/01/29/european-virtual-altnet-meeting-on-02022009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Testify</title>
		<link>http://elegantcode.com/2008/09/21/testify/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testify</link>
		<comments>http://elegantcode.com/2008/09/21/testify/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 21:33:14 +0000</pubDate>
		<dc:creator>Tony Rasa</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/21/testify/</guid>
		<description><![CDATA[First, read Roy Osherove's post about TDD difficulties, then read this alt.net thread: TDD+Effort != Return. Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go [...]]]></description>
			<content:encoded><![CDATA[First, read Roy Osherove's post about <a href="http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-farewell-stubs.aspx">TDD difficulties</a>, then read this alt.net thread: <a href="http://tech.groups.yahoo.com/group/altdotnet/message/15301">TDD+Effort != Return</a>.

Here's the problem: I work with a lot of really good developers.  Most of them agree that designing for testability sounds great.  They're interested in learning new technologies.  But when discussing the various testable design techniques, they all go back to the coding style that they are familiar with, with the same old arguments of "it's too hard," "there's no time to learn something new," "I'll do it next time."  The whole conversation condenses to "TDD sounds nice, BUT..."

A common answer I've heard for dealing with these developers is "fire them."  Not a very helpful answer ;)  Fire everybody, and replace them with whom?  Or, we can work on training, mentoring, and making better tools.  But how do you train somebody who doesn't want to learn?

Wish I had more answers here.  Maybe we're just too focused on the [Fast|Cheap] angle of the iron triangle.  Maybe there is something fundamental being missed,  but we're all so entrenched in our alt.net echo chamber that we can't see it.  Who knows.  The search for truth continues.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/21/testify/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Continuous Improvement in Software Development Conference</title>
		<link>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=continuous-improvement-in-software-development-conference</link>
		<comments>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:41:41 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/</guid>
		<description><![CDATA[Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now open.&#160; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &#38; Friday, and an Open Space over the [...]]]></description>
			<content:encoded><![CDATA[<p>Registration for the Continuous Improvement in Software Development Conference (Kaizen) is now <a href="http://kaizenconf.com/">open</a>.&nbsp; The event will be held Thursday, October 30th to Sunday, November 2nd at St. Edward's University Professional Education Center, Austin, TX. There will be workshops by some of the industries best held on Thursday &amp; Friday, and an Open Space over the weekend.</p>
<!--more-->
 <p>Taken from the website:</p> <blockquote> <p><em>The Continuous Improvement in Software Development Conference challenges participants to consider contemporary technical and cultural practices in the software development community in terms of continuous improvement. </em> <p><em>During breakout sessions, demonstrations, and conversations addressing practices, tools, process, methodology, and community and culture, participants are asked to consider and respond to the following questions: </em> <ul> <li><em>How do we improve? </em> <li><em>How do we recognize new improvements? </em> <li><em>What improvements in the past led us to where we are now? </em> <li><em>How do we decide which improvements to make? </em> <li><em>What values drive our decisions for improvement? </em> <li><em>What improvements can we be making right now? </em> <li><em>What obstructions impede improvement? </em> <li><em>What improvements are on the horizon? </em> <li><em>How can we adapt easier to the changes that improvements bring? </em> <li><em>What are the practices and processes that enable improvement?</em> </li></ul></blockquote>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/05/continuous-improvement-in-software-development-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 2.0 went gold!</title>
		<link>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nhibernate-20-went-gold</link>
		<comments>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 18:13:04 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/</guid>
		<description><![CDATA[Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that NHibernate 2.0 got released. Aah, life couldn't get any better. Kudos to Fabio Maulo and the gang for all the hard work.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got back from a refreshing holiday in Italy. First thing I noticed after opening my RSS reader was that <a href="https://sourceforge.net/project/showfiles.php?group_id=73818&amp;package_id=73969">NHibernate 2.0</a> got released. Aah, life couldn't get any better. Kudos to <a href="http://groups.google.be/group/nhibernate-development?hl=nl&amp;lnk=">Fabio Maulo and the gang</a> for all the hard work.</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/08/25/nhibernate-20-went-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch ALT.NET User Group</title>
		<link>http://elegantcode.com/2008/07/04/dutch-altnet-user-group/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dutch-altnet-user-group</link>
		<comments>http://elegantcode.com/2008/07/04/dutch-altnet-user-group/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 20:07:52 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[ALT.NET]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/07/04/dutch-altnet-user-group/</guid>
		<description><![CDATA[Yesterday, me, myself and Peter went to the first Dutch ALT.NET gathering. Besides being stuck in traffic for more than an hour, I had a great time. There were some great conversations going on and it was really empowering already. Make sure to read Yves's summary of the whole thing (only in Dutch). We talked [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, me, myself and <a href="http://peter.worksontheweb.net/post/Brazilian-waxing2c-choosing-a-JavaScript-framework-and-why-I-dont-like-ASPNET-AJAX.aspx" target="_blank">Peter</a> went to the first <a href="http://groups.google.be/group/dutchaltdotnet?hl=nl" target="_blank">Dutch ALT.NET</a> gathering. Besides being stuck in traffic for more than an hour, I had a great time. There were some great conversations going on and it was really empowering already. Make sure to read <a href="http://groups.google.be/group/dutchaltdotnet/msg/2e8a3d80ed718fbe?hl=nl&amp;" target="_blank">Yves's summary</a> of the whole thing (only in Dutch). We talked about doing some small to medium-sized events in the near future, so stay tuned. Let the learning and&#160; knowledge sharing begin!</p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/07/04/dutch-altnet-user-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

