<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10titles.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemtitles.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://freqken.net/wp-atom.php">
	<title type="text">What's the frequency, Kenneth?</title>
	<subtitle type="text">Programming with Compassion</subtitle>

	<updated>2008-10-15T20:10:42Z</updated>
	<generator uri="http://wordpress.org/" version="2.6.2">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://freqken.net" />
	<id>http://freqken.net/feed/atom/</id>
	

			<link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><link rel="self" href="http://feeds.feedburner.com/freqken" type="application/atom+xml" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ffreqken" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/freqken" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ffreqken" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Poverty and me - Blog Action Day 2008]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/421853822/" />
		<id>http://freqken.net/?p=42</id>
		<updated>2008-10-15T20:10:42Z</updated>
		<published>2008-10-15T18:55:43Z</published>
		<category scheme="http://freqken.net" term="BAD08" />		<summary type="html"><![CDATA[This post is in support of the Blog Action Day 2008 movement. From the website:

On October 15th bloggers everywhere will publish posts that discuss poverty in some way. By all posting on the same day we aim to change the conversation that day, to raise awareness, start a global discussion and add momentum to an [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2008/10/15/poverty-and-me-blog-action-day-2008/">&lt;p&gt;This post is in support of the &lt;a href="http://blogactionday.org/"&gt;Blog Action Day 2008&lt;/a&gt; movement. From the website:&lt;/p&gt;

&lt;blockquote&gt;On October 15th bloggers everywhere will publish posts that discuss poverty in some way. By all posting on the same day we aim to change the conversation that day, to raise awareness, start a global discussion and add momentum to an important cause.&lt;/blockquote&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div align="center"&gt;###&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
I was either an employee or contractor with Compassion International for about eight years. During that time, I thought that I &amp;#8220;got&amp;#8221; what things were like in the countries where Compassion works.&lt;/p&gt;

&lt;p&gt;I figured, yeah, there are people that are fighting for every little thing, every day. And I had seen pictures of what these families may live in. I thought I had my arms around it.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;

&lt;p&gt;I traveled to Tanzania in September of 2006. As East African countries go, Tanzania has it pretty well. There are a variety of natural resources to provide national income. There are tourist attractions to bring in more income (the Serengeti, Mount Kilimanjaro). It has a coastline with a major port (Dar es Salaam). It is a peaceful country, without tribal or ethnic problems. The government has been stable. All in all, they do not suffer many of the problems of other East African nations.&lt;/p&gt;

&lt;p&gt;We stayed in Arusha. Things there are about what I expected. This is a major city in Tanzania, gateway for safaris and mountain climbing excursions. There are lots of businesses, good roads, decent housing. There is poverty here, for sure, but there are churches and people to help here. There is infrastructure here, and people can get by.&lt;/p&gt;

&lt;p&gt;Finally, we traveled to Manyoni, a small town(?) near the center of Tanzania. I say small town, because before we left, I was able to find a couple of maps online that showed Manyoni on them. It was connected (according to the maps) to Arusha by a secondary highway, and was about 200km (125 miles, for Americans that never bothered to learn - including me) away from Arusha. Distance-wise, that&amp;#8217;s about the same as from my home to my friends that live in Longmont. About two hours, depending on traffic through Denver on any given day.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://freqken.net/wp-content/uploads/2008/10/picture-2.png" alt="Picture 2.png" border="0" width="247" height="247" /&gt;&lt;/p&gt;

&lt;p&gt;Arusha is in the upper-right, Manyoni in the lower-left. The highway even has a designation.&lt;/p&gt;

&lt;p&gt;The first 15 minutes out of Arusha are on a paved road. The paved road ends at the junction that heads toward the national parks. What is left is dirt road. This is not &amp;#8220;dirt road&amp;#8221; like in the rural parts of the Western US. The country director we dined with called this an Old Testament Road. As in, it was created then, and that is the last time it has had any maintenance. This road is basically a single-track jeep trail. It is rough, rutted, and in some places filled with sand. We were in a Land Cruiser and bouncing up and down, back and forth. For eight hours. To travel just over one hundred miles.&lt;/p&gt;

&lt;p&gt;And this is a secondary highway. In the US, that designation means a state highway. Two lanes, paved, wide, safe to travel.&lt;/p&gt;

&lt;p&gt;In Tanzania, this is a road of commerce. We passed several other vehicles. Picket-side trucks piled fifteen feet high with goods, produce, clothing, whatever. Tanker trucks carrying fuel. Buses packed beyond capacity with people trying to travel from the center of the country to the north.&lt;/p&gt;

&lt;p&gt;And we were lucky. For us, eight hours. For all these other vehicles, two days. And this is hard travel. There is no travel at night. That would be insane. And thank goodness that this was the dry season. This road would be one long mud hole in rainy season.&lt;/p&gt;

&lt;p&gt;We passed through two towns along the way. The first was at the major junction near the label for the Tarangore national park. I don&amp;#8217;t remember its name. It consisted of maybe a dozen buildings, including a small cafe. And they had a mile of paved road.&lt;/p&gt;

&lt;p&gt;The second was Singida. It is the second major junction along the road. This was a town with maybe a hundred residents. There were some shops, and a couple of restaurants. Singida also has some really cool rock formations along the road. It reminded me of Vedawoo in Wyoming. But no paved roads. Probably a boarding house here. In the cafe where we stopped, I had fresh roasted goat ribs. Yummy!&lt;/p&gt;

&lt;p&gt;Along the way, I don&amp;#8217;t remember seeing any fueling stations. No repair facilities. You break down on this road, and you are going to be in big, big trouble.&lt;/p&gt;

&lt;p&gt;All the other towns listed on that map fragment? Best I can tell, they are locations of Masai (or other local tribes) huts. Family villages of 3-6 straw huts.&lt;/p&gt;

&lt;p&gt;And finally in Manyoni. There are about 800 people living in the vicinity of Manyoni. There is one road that has business along the way. Selling used clothing. Or hair salons. Two or three places to sleep. Trucks lined up all along the road, because this is the stopping place when going from the coast to anywhere. You get here before it gets dark. We ate at two different restaurants. I think those and the boarding house were the only places that I saw with electricity. There is a railroad track. But it wasn&amp;#8217;t used any more. &lt;/p&gt;

&lt;p&gt;Manyoni has a serious problem with desertification. Sand is moving in. Fields where crops are grown are being over run with sand. One large church in Manyoni has a large well. This is an incredible resource for its members. The other people had to carry five gallon buckets (usually on the woman&amp;#8217;s head) some distance to get water for the day. And spend the majority of their income for the water.&lt;/p&gt;

&lt;p&gt;This is the poverty that I saw. No infrastructure. No communication between towns (other than cell phones. Cell phones were everywhere). If you live in somewhere like Manyoni, you are almost always stuck there. It&amp;#8217;s nearly impossible to get anywhere else. And you have a few hundred other people in the same condition to help you out.&lt;/p&gt;

&lt;p&gt;This is why things are so much worse in the third world versus the US. Sure, the US has poverty. But there are ways to get somewhere else, to get help, to get to somewhere that you have a chance.&lt;/p&gt;

&lt;p&gt;Get up, do something. Donate time, talents or treasure to someone, somewhere that is trying to make the world a better place. Think bigger than your own room, than your own city or country. Find a way to help. &lt;/p&gt;

&lt;p&gt;Every little bit counts.
&lt;br /&gt;&lt;/p&gt;

&lt;script src="http://blogactionday.org/js/70e2b5a281faa498adc1fe955d6eac38ec5afef2"&gt;&lt;/script&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/421853822" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2008/10/15/poverty-and-me-blog-action-day-2008/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2008/10/15/poverty-and-me-blog-action-day-2008/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2008/10/15/poverty-and-me-blog-action-day-2008/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Eerie&#8230;]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/260425425/" />
		<id>http://freqken.net/2008/03/29/eerie/</id>
		<updated>2008-03-29T22:55:03Z</updated>
		<published>2008-03-29T22:18:24Z</published>
		<category scheme="http://freqken.net" term="fun" />		<summary type="html"><![CDATA[I keep seeing this ad when I go to SourceForge and other tech sites. Seems like the ads are talking directly to me!  





]]></summary>
		<content type="html" xml:base="http://freqken.net/2008/03/29/eerie/">&lt;p&gt;I keep seeing this ad when I go to SourceForge and other tech sites. Seems like the ads are talking directly to me! &lt;img src='http://freqken.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; 
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://freqken.net/wp-content/uploads/2008/03/wi-spy-300x250.jpg" alt="wi_spy_300x250.jpg" border="0" width="300" height="250" /&gt;
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/260425425" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2008/03/29/eerie/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2008/03/29/eerie/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2008/03/29/eerie/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Problems With NHibernate]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/215861377/" />
		<id>http://freqken.net/2008/01/13/problems-with-nhibernate/</id>
		<updated>2008-03-29T23:53:06Z</updated>
		<published>2008-01-13T08:59:02Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="Help!" /><category scheme="http://freqken.net" term="NHibernate" /><category scheme="http://freqken.net" term="programming" />		<summary type="html"><![CDATA[In our latest project, our team made use of NHibernate to act as an ORM (Object-Relational Mapper) and to handle all of our data access work. In the current phase that we are working on, we&#8217;re running into a problem. We can&#8217;t get NHibernate to delete a child object in a collection on a parent. [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2008/01/13/problems-with-nhibernate/">&lt;p&gt;In our latest project, our team made use of NHibernate to act as an ORM (Object-Relational Mapper) and to handle all of our data access work.&lt;/p&gt; &lt;p&gt;In the current phase that we are working on, we&amp;#8217;re running into a problem. We can&amp;#8217;t get NHibernate to delete a child object in a collection on a parent.&lt;/p&gt; &lt;p&gt;Here&amp;#8217;s the basic situation:&lt;/p&gt; &lt;p&gt;We have a Proposal, which has a collection of ProposalMilestones. The ProposalMilestone has a reference to the parent Proposal, as well as a reference to the Milestone that it refers to.&lt;/p&gt; &lt;p&gt;When trying to remove a ProposalMilestone from the collection and flushing the session, NHibernate throws a StaleObjectException.&lt;/p&gt; &lt;p&gt;Here are images of the class diagram for this section and the database schema that applies:&lt;/p&gt; &lt;p&gt;&lt;a href="http://freqken.net/wp-content/uploads/2008/01/nhsample.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="NHSample" src="http://freqken.net/wp-content/uploads/2008/01/nhsample-thumb.png" width="227" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://freqken.net/wp-content/uploads/2008/01/nhsampledatabase-nonotify.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="NHSampleDatabase-NoNotify" src="http://freqken.net/wp-content/uploads/2008/01/nhsampledatabase-nonotify-thumb.png" width="200" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Nothing special about either one. The relationships are as would be expected.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here are the related mapping files:&lt;/p&gt; &lt;p&gt;Proposal.hbm.xml&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="urn:nhibernate-mapping-2.2"&lt;/span&gt; &lt;span class="attr"&gt;namespace&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities"&lt;/span&gt; &lt;span class="attr"&gt;assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="NHSample"&lt;/span&gt; &lt;span class="attr"&gt;default-access&lt;/span&gt;&lt;span class="kwrd"&gt;="nosetter.camelcase"&lt;/span&gt; &lt;span class="attr"&gt;default-lazy&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Proposal, NHSample"&lt;/span&gt; &lt;span class="attr"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;="Proposal"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Id"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ID"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;generator&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="guid.comb"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Timestamp, NHSample"&lt;/span&gt; &lt;span class="attr"&gt;generated&lt;/span&gt;&lt;span class="kwrd"&gt;="always"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Audit"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Audit, NHSample"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Code"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Code"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Name"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Name"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposedStartDate"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposedStartDate"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;bag&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Milestones"&lt;/span&gt; &lt;span class="attr"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposalMilestone"&lt;/span&gt; &lt;span class="attr"&gt;inverse&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;cascade&lt;/span&gt;&lt;span class="kwrd"&gt;="all"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposalID"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;one-to-many&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.ProposalMilestone, NHSample"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;bag&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;ProposalMilestone.hbm.xml&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="urn:nhibernate-mapping-2.2"&lt;/span&gt; &lt;span class="attr"&gt;namespace&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities"&lt;/span&gt; &lt;span class="attr"&gt;assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="NHSample"&lt;/span&gt; &lt;span class="attr"&gt;default-access&lt;/span&gt;&lt;span class="kwrd"&gt;="nosetter.camelcase"&lt;/span&gt; &lt;span class="attr"&gt;default-lazy&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.ProposalMilestone"&lt;/span&gt; &lt;span class="attr"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposalMilestone"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Id"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ID"&lt;/span&gt; &lt;span class="attr"&gt;unsaved-value&lt;/span&gt;&lt;span class="kwrd"&gt;="00000000-0000-0000-0000-000000000000"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;generator&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="guid.comb"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Timestamp, NHSample"&lt;/span&gt; &lt;span class="attr"&gt;generated&lt;/span&gt;&lt;span class="kwrd"&gt;="always"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Audit"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Audit, NHSample"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="OriginalDueDate"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="OriginalDueDate"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="DateTime"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;many-to-one&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Milestone"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="MilestoneID"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Milestone, NHSample"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;many-to-one&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Proposal"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposalID"&lt;/span&gt; &lt;span class="attr"&gt;not-null&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Proposal, NHSample"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;bag&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Notifications"&lt;/span&gt; &lt;span class="attr"&gt;inverse&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;cascade&lt;/span&gt;&lt;span class="kwrd"&gt;="all"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;key&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ProposalMilestoneID"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;one-to-many&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Notification, NHSample"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;bag&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Milestone&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="urn:nhibernate-mapping-2.2"&lt;/span&gt; &lt;span class="attr"&gt;assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="NHSample"&lt;/span&gt;  &lt;span class="attr"&gt;namespace&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities"&lt;/span&gt; &lt;span class="attr"&gt;default-access&lt;/span&gt;&lt;span class="kwrd"&gt;="nosetter.camelcase"&lt;/span&gt; &lt;span class="attr"&gt;default-lazy&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Milestone, NHSample"&lt;/span&gt; &lt;span class="attr"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;="Milestone"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Id"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ID"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;generator&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="guid.comb"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Version"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Timestamp, NHSample"&lt;/span&gt; &lt;span class="attr"&gt;generated&lt;/span&gt;&lt;span class="kwrd"&gt;="always"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Audit"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="CIV.Entities.Audit, NHSample"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedBy"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="CreatedOn"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="DateTime"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedBy"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="ModifiedOn"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="DateTime"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;component&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Name"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Name"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="attr"&gt;not-null&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Code"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Code"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="attr"&gt;not-null&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;column&lt;/span&gt;&lt;span class="kwrd"&gt;="Description"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="String"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;hibernate-mapping&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Any suggestions would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;As a side note, I think my relations expressed in the mapping could be better. ProposalMilestone is being treated as an entity right now, but there is no reason (unless NHibernate requires it for the relationships) that it needs to be. I believe Milestone is a value object, but again, it&amp;#8217;s being treated as an entity.&lt;/p&gt;
&lt;p&gt;Suggestions here would also be appreciated. &lt;/p&gt;

&lt;h4&gt;Updated (3.29.08)&lt;/h4&gt;
&lt;p&gt;
I did get this problem solved:

The final thing that worked for me was putting the optimistic-lock=”false” tag on the collection declaration (Proposal). This avoided updating the Proposal before the collection of ProposalMilestones was updated, which was causing my stale object error.

&lt;/p&gt;

&lt;p&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, &amp;#8220;Courier New&amp;#8221;, courier, monospace;
    background-color: #ffffff;
    /&lt;em&gt;white-space: pre;&lt;/em&gt;/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, &amp;#8220;Courier New&amp;#8221;, courier, monospace;
    background-color: #ffffff;
    /&lt;em&gt;white-space: pre;&lt;/em&gt;/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
    font-size: small;
    color: black;
    font-family: consolas, &amp;#8220;Courier New&amp;#8221;, courier, monospace;
    background-color: #ffffff;
    /&lt;em&gt;white-space: pre;&lt;/em&gt;/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/215861377" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2008/01/13/problems-with-nhibernate/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2008/01/13/problems-with-nhibernate/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://freqken.net/2008/01/13/problems-with-nhibernate/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Making my wife happy]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/212400695/" />
		<id>http://freqken.net/2008/01/06/making-my-wife-happy/</id>
		<updated>2008-03-29T23:43:51Z</updated>
		<published>2008-01-07T06:04:09Z</published>
		<category scheme="http://freqken.net" term="Real Life" />		<summary type="html"><![CDATA[We&#8217;re both doing the Biggest Loser Million Pound Match-up Challenge. She has a blog for both of us to keep track in it. We have to have an official page on MSN Spaces, but Spaces sucks and doesn&#8217;t let two people show participation, so she&#8217;s just using one off of her domain.

See here: http://www.crayonsetc.com/betterme/
]]></summary>
		<content type="html" xml:base="http://freqken.net/2008/01/06/making-my-wife-happy/">&lt;p&gt;We&amp;#8217;re both doing the &lt;a href="http://biggestloser.msn.com/"&gt;Biggest Loser Million Pound Match-up Challenge&lt;/a&gt;. She has a blog for both of us to keep track in it. We have to have an official page on MSN Spaces, but Spaces sucks and doesn&amp;#8217;t let two people show participation, so she&amp;#8217;s just using one off of her domain.&lt;/p&gt;

&lt;p&gt;See here: &lt;a href="http://www.crayonsetc.com/betterme/"&gt;http://www.crayonsetc.com/betterme/&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/212400695" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2008/01/06/making-my-wife-happy/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2008/01/06/making-my-wife-happy/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2008/01/06/making-my-wife-happy/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[State of the world today]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/151749275/" />
		<id>http://freqken.net/2007/09/03/state-world-today/</id>
		<updated>2007-09-03T19:24:13Z</updated>
		<published>2007-09-03T19:24:13Z</published>
		<category scheme="http://freqken.net" term="Civil Liberties" /><category scheme="http://freqken.net" term="Real Life" />		<summary type="html"><![CDATA[http://www.michaelrighi.com/2007/09/01/arrested-at-circuit-city

This is an example of things going terribly wrong. More people need to be aware of their civil liberties and rights, and be willing to assert them in appropriate ways.

Further discussion:


    Comment on Slashdot
    Comment on Digg
    Comment on Reddit
    Comment on Boing [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/09/03/state-world-today/">&lt;p&gt;&lt;a href="http://www.michaelrighi.com/2007/09/01/arrested-at-circuit-city"&gt;http://www.michaelrighi.com/2007/09/01/arrested-at-circuit-city&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an example of things going terribly wrong. More people need to be aware of their civil liberties and rights, and be willing to assert them in appropriate ways.&lt;/p&gt;

&lt;p&gt;Further discussion:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://yro.slashdot.org/yro/07/09/03/1449200.shtml"&gt;Comment on Slashdot&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.digg.com/offbeat_news/Papers_Please_Arrested_At_Circuit_City"&gt;Comment on Digg&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://reddit.com/info/2kzs5/comments"&gt;Comment on Reddit&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.boingboing.net/2007/09/01/papers-please-arrest.html#comments"&gt;Comment on Boing Boing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/151749275" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/09/03/state-world-today/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/09/03/state-world-today/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/09/03/state-world-today/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[What&#8217;s a Solutions Architect?]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289273/" />
		<id>http://freqken.net/2007/05/27/whats-a-solutions-architect/</id>
		<updated>2008-03-29T23:54:18Z</updated>
		<published>2007-05-28T01:30:54Z</published>
		<category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="Solutions Architect" />		<summary type="html"><![CDATA[
  New and Notable 167: &#8220;Jon Flanders and I (Sam Gentile) were talking over dinner last night about back in the day he and I as COM programmers could keep most of our known universe in your head. Today the pace is so furious that you have to keep WCF, WF, .NET Framework, Silverlight, [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/27/whats-a-solutions-architect/">&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://codebetter.com/blogs/sam.gentile/archive/2007/05/18/new-and-notable-167.aspx"&gt;New and Notable 167&lt;/a&gt;: &amp;#8220;Jon Flanders and I (Sam Gentile) were talking over dinner last night about back in the day he and I as COM programmers could keep most of our known universe in your head. Today the pace is so furious that you have to keep WCF, WF, .NET Framework, Silverlight, Atlas, BizTalk Server and many others in your head such that a Solution Architect who digests all this stuff and picks the &amp;#8216;right&amp;#8217; way to go makes a heck of a lot of sense these days.&amp;#8221;&lt;/p&gt;
  
  &lt;p&gt;(Via &lt;a href="http://codebetter.com/blogs/"&gt;CodeBetter.Com&lt;/a&gt;.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Saw this posted last week-ish, and wanted to put in a few cents worth of bytes.&lt;/p&gt;

&lt;p&gt;At Compassion, several of the Sr. Software Developers (who really do have a bent towards design and architecture) have been working at a grassroots level to create a Solutions Architect role. We&amp;#8217;ve gotten a little traction from management on it, primarily by casting it as an intra-team communication tool.&lt;/p&gt;

&lt;p&gt;In our workplace, development is highly focused on the project. Anything that is done is funded through a project, and the project is what moves in new technology. This would be OK (sort of, but that&amp;#8217;s another day) if there was an in-place framework, or standards, or infrastructure or &lt;em&gt;something&lt;/em&gt;. But there isn&amp;#8217;t. We&amp;#8217;re trying to define strategy, infrastructure and business value all at the same time, all in the same project.&lt;/p&gt;

&lt;p&gt;If that sounds hard, you&amp;#8217;re right. The project is focused on time and money. As in, right now for as little as possible. But strategy, infrastructure and framework need to be able to grow, adapt and evolve. We don&amp;#8217;t have anyone (let alone a team) that is the owner of the base level stuff. And we see the outcome of that all over the place. Each app is different; different base technology is used, typically based on the whims of either the Sr. Developer or the Architecture Office, depending on who has been to the latest marketing buzz.&lt;/p&gt;

&lt;p&gt;We are gradually moving in the right direction. We&amp;#8217;ve gotten the overall strategy laid down in the past couple of months. Now it&amp;#8217;s a matter of matching appropriate technology to the strategy. For now, that&amp;#8217;s SharePoint at the base of it all, but there are some serious questions hanging over parts of that plan.&lt;/p&gt;

&lt;p&gt;Where does the Solution Architect come in? They are tasked to take a step back from daily development, and find the big picture that can be lost in day-to-day activities, especially as separate teams work on functionality that could be used by other groups.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s hard, but it&amp;#8217;s worth it. We will wind up with a consistent framework to build in, something where the basics don&amp;#8217;t have to be rebuilt for each project. It&amp;#8217;s not going to be easy, but there was never a promise of that.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289273" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/27/whats-a-solutions-architect/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/27/whats-a-solutions-architect/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/27/whats-a-solutions-architect/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[EntLibContrib Contribution Posted]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289274/" />
		<id>http://freqken.net/2007/05/19/entlibcontrib-contribution-posted/</id>
		<updated>2008-03-29T23:47:47Z</updated>
		<published>2007-05-19T19:29:00Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="CodePlex" /><category scheme="http://freqken.net" term="Enterprise Library" /><category scheme="http://freqken.net" term="programming" />		<summary type="html"><![CDATA[I just finished the first pass at the SQLite data provider for the Enterprise Library Contrib project, and uploaded it to CodePlex. I&#8217;m curious to see how the project coordination likes it. I may have to refactor a little bit, and I want to make some of the (25) skipped tests pass, but I&#8217;m happy [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/19/entlibcontrib-contribution-posted/">&lt;p&gt;&lt;p&gt;I just finished the first pass at the SQLite data provider for the Enterprise Library Contrib project, and uploaded it to CodePlex.&lt;/p&gt; &lt;p&gt;I&amp;#8217;m curious to see how the project coordination likes it. I may have to refactor a little bit, and I want to make some of the (25) skipped tests pass, but I&amp;#8217;m happy with it right now.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:611a34d1-a266-4556-8977-35f76b68d955" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;/div&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289274" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/19/entlibcontrib-contribution-posted/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/19/entlibcontrib-contribution-posted/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/19/entlibcontrib-contribution-posted/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[NetTiers and SCSF, Part 2]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289275/" />
		<id>http://freqken.net/2007/05/18/how-to-use-nettiers-in-scsf-2/</id>
		<updated>2008-03-29T23:48:24Z</updated>
		<published>2007-05-19T05:01:40Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="C#" /><category scheme="http://freqken.net" term="NetTiers" /><category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="SCSF" /><category scheme="http://freqken.net" term="SQL Server" /><category scheme="http://freqken.net" term="Visual Studio" />		<summary type="html"><![CDATA[Carrying on from the last post&#8230; I was stepping through setting up a virtual machine image to work with, and realized that I forgot to mention one important requirement for all this - a database!

SQL Server Express works great. I grab the version with Reporting Services, but that is more out of habit than anything [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/18/how-to-use-nettiers-in-scsf-2/">&lt;p&gt;Carrying on from the last post&amp;#8230; I was stepping through setting up a virtual machine image to work with, and realized that I forgot to mention one important requirement for all this - a database!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msdn.microsoft.com/vstudio/express/sql/download/"&gt;SQL Server Express&lt;/a&gt; works great. I grab the version with Reporting Services, but that is more out of habit than anything else. It is much easier in the long run to have the SQL Express Management Studio as well. The installer is available for download in the same location as the SQL Express files. You should also download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;#038;displaylang=en"&gt;AdventureWorks&lt;/a&gt; database, to have a convenient starting point.&lt;/p&gt;

&lt;h2&gt;Database Installation&lt;/h2&gt;

&lt;p&gt;After downloading the SQL Server Express package, run the installer. Take all the defaults, and it should be a quick install. One thing to watch for: there is an option to make SQL Express the default instance or to create a new instance. As long as you do not have any SQL instances installed, it is easier to make this the default instance. &lt;/p&gt;

&lt;p&gt;Next, run the installer for the AdventureWorks database. The installer should detect the Data directory that was just created by SQL Express. Use this location and install the database.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://freqken.net/wp-content/uploads/2007/05/imagessql-connect-login.png"&gt;&lt;img src="http://freqken.net/wp-content/uploads/2007/05/imagessql-connect-login.thumbnail.png" border="0" alt="sql_connect_login.png" align="right" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The database is installed (copied to disk), but is not ready to use yet. To make it ready, open the SQL Management Studio. At the database connection screen, enter (local) for the server name and use Windows Authentication to connect to the database.&lt;/p&gt;

&lt;p&gt;Once connected, right-click the Databases folder under the server. Choose &amp;#8220;Attach&amp;#8230;&amp;#8221; from the menu. In the Attach Databases window, click the &amp;#8220;Add&amp;#8230;&amp;#8221; button. A window should open showing the databases in the default data directory. Select the AdventureWorks_Data.mdf database and press OK. Press the OK button on the Attach Databases window, and the database should be successfully set up with the SQL Server instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://freqken.net/wp-content/uploads/2007/05/imagesattach-aw.png"&gt;&lt;img src="http://freqken.net/wp-content/uploads/2007/05/imagesattach-aw.thumbnail.png" border="0" alt="attach_aw.png" align="right" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Finishing Installation&lt;/h2&gt;

&lt;p&gt;Just a few more pieces to install, and we&amp;#8217;ll be ready to move forward. Find the ZIP files for NUnitForms and RhinoMocks. Extract each one into an easy-to-find location. I put mine in the C:\Tools folder, each in their own subfolder.&lt;/p&gt;

&lt;p&gt;Locate the installer file for NUnit. Run the installer, taking all the defaults.&lt;/p&gt;

&lt;p&gt;Open the ZIP file for TestDriven.NET and run the installer contained inside it. Take all the defaults.&lt;/p&gt;

&lt;p&gt;Finally! Everything is installed and ready to go.&lt;/p&gt;

&lt;p&gt;Next time: Setting up a Visual Studio project, and getting everything ready to go.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289275" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/18/how-to-use-nettiers-in-scsf-2/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/18/how-to-use-nettiers-in-scsf-2/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/18/how-to-use-nettiers-in-scsf-2/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Introduction: How to use NetTiers in an SCSF Application]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289276/" />
		<id>http://freqken.net/2007/05/13/how-to-use-nettiers-in-scsf/</id>
		<updated>2008-03-29T23:49:11Z</updated>
		<published>2007-05-14T05:18:44Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="C#" /><category scheme="http://freqken.net" term="CAB" /><category scheme="http://freqken.net" term="CodeSmith" /><category scheme="http://freqken.net" term="Enterprise Library" /><category scheme="http://freqken.net" term="NetTiers" /><category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="SCSF" /><category scheme="http://freqken.net" term="Subversion" /><category scheme="http://freqken.net" term="Visual Studio" />		<summary type="html"><![CDATA[I&#8217;ve gotten a bit out of practice with NetTiers and the Smart Client Software Factory (SCSF) in the past year, so I think I am going to walk through the use of both NetTiers and the SCSF to build an application.

First, the basics

We need to gather all the various software bits to have them available [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/13/how-to-use-nettiers-in-scsf/">&lt;p&gt;I&amp;#8217;ve gotten a bit out of practice with NetTiers and the Smart Client Software Factory (SCSF) in the past year, so I think I am going to walk through the use of both NetTiers and the SCSF to build an application.&lt;/p&gt;

&lt;h2&gt;First, the basics&lt;/h2&gt;

&lt;p&gt;We need to gather all the various software bits to have them available for using in our application. There are a lot of prerequisites to gather, so I will list them here, with links to download them, and the order to install them.&lt;/p&gt;

&lt;h3&gt;The Software&lt;/h3&gt;

&lt;p&gt;First off, Visual Studio 2005 is required. I&amp;#8217;ve build apps using SCSF on VS 2005 Professional and the Team System Software Developers editions. I don&amp;#8217;t know if it will work on the Express edition or not.&lt;/p&gt;

&lt;p&gt;Now, the download parade begins. You will need, not necessarily in this order, the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlib"&gt;Enterprise Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/smartclient/Wiki/View.aspx?title=Composite%20UI%20Application%20Block"&gt;Composite UI Application Block&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/smartclient/Wiki/View.aspx?title=Smart%20Client%20Software%20Factory"&gt;Smart Client Software Factory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=47181"&gt;Guidance Assistance Extensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=47060"&gt;Guidance Assistance Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This list satisfies SCSF. For NetTiers, you need the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codesmithtools.com/downloadrequest.aspx"&gt;CodeSmith Standard Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nettiers.com/Download.aspx"&gt;NetTiers templates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And last, but not least, to make testing easier (and much more fun):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.nunit.org/download"&gt;NUnit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.testdriven.net/"&gt;TestDriven.NET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nunitforms.sourceforge.net/"&gt;NUnitForms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx"&gt;Rhino Mocks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OK, one more optional piece. I&amp;#8217;m sure &lt;strong&gt;everyone&lt;/strong&gt; is already using source control (just like we all back up our systems every night, right?), but I love this one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://subversion.tigris.org/project_packages.html"&gt;Subversion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and the best client I&amp;#8217;ve found for Subversion:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tortoisesvn.net/downloads"&gt;TortoiseSVN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For Enterprise Library, I&amp;#8217;ve only used version 2.0 with the SCSF. I don&amp;#8217;t know of a reason that version 3.0 won&amp;#8217;t work, but I&amp;#8217;m going to try it along the way. For CodeSmith, the standard edition is all that is required. The Enterprise edition is good if you are going to be developing a lot of your own templates. With NetTiers, you can either download the latest released version, or grab a nightly build. The templates are stable, and the nightly build generally are either adding new features, or providing tweaks to the templates that won&amp;#8217;t affect most users.&lt;/p&gt;

&lt;h3&gt;Installation (required bits)&lt;/h3&gt;

&lt;p&gt;Alright, now for the fun times. This part is kind of dreary, but you really only have to go through it once, so find a cool beverage, maybe a little something to read, and prepare to exercise your install skills.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Visual Studio. This will be the longest install of the bunch, but it&amp;#8217;s likely that it&amp;#8217;s already installed on your system, so that&amp;#8217;s one freebie.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install Enterprise Library. You can probably take the defaults from the installer, but make sure to have the libraries actually built for you at the end of the installation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the Composite UI Application Block. Again, take the defaults. This time, you will have to open the Composite UI solution from the Program Menu after installing, and build the CAB assemblies through Visual Studio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install GAX and GAT. I never remember which is first. I think it&amp;#8217;s GAX, but the installer will tell you if you go backwards. Just take all the defaults.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the SCSF. No surprises here; just take the defaults.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install CodeSmith. You may be asked about installing a Visual Studio add-in. It&amp;#8217;s not necessary, but won&amp;#8217;t hurt anything if you do install it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extract the NetTiers templates. Doesn&amp;#8217;t matter where you put them, just remember where it is. I install things like this in C:\Tools, in a subfolder for each tool. So, my NetTiers templates are found in C:\Tools\NetTiers. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Next time: Installation of the fun bits, and getting the development environment set up.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289276" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/13/how-to-use-nettiers-in-scsf/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/13/how-to-use-nettiers-in-scsf/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/13/how-to-use-nettiers-in-scsf/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Contribution to EntLib Contrib]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289277/" />
		<id>http://freqken.net/2007/05/11/contribution-to-entlib-contrib/</id>
		<updated>2008-03-29T23:50:04Z</updated>
		<published>2007-05-12T03:55:51Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="CodePlex" /><category scheme="http://freqken.net" term="Enterprise Library" /><category scheme="http://freqken.net" term="NetTiers" /><category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="SQLite" />		<summary type="html"><![CDATA[Since the Enterprise Library Contrib project opened, I decided that was a good reason to finish creating a data provider for the SQLite database. I had started on this about six months ago, but never really went anywhere with it.

It appears that the code is working. I&#8217;ve got 50-some unit tests that are passing (cribbed [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/11/contribution-to-entlib-contrib/">&lt;p&gt;Since the &lt;a href="http://www.codeplex.com/entlibcontrib"&gt;Enterprise Library Contrib&lt;/a&gt; project opened, I decided that was a good reason to finish creating a data provider for the &lt;a href="http://sqlite.phxsoftware.com/"&gt;SQLite&lt;/a&gt; database. I had started on this about six months ago, but never really went anywhere with it.&lt;/p&gt;

&lt;p&gt;It appears that the code is working. I&amp;#8217;ve got 50-some unit tests that are passing (cribbed from the SQL Server and Oracle data provider unit tests). I want to go through a couple more examples of unit tests before I call it good. &lt;/p&gt;

&lt;p&gt;I was about to say that this is my first contribution to make, but that&amp;#8217;s not really true. I&amp;#8217;ve contributed makefile stuff to the &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; project in the past, and helped to get Perl, Ruby and Python compiling into the OS X version of Vim.&lt;/p&gt;

&lt;p&gt;I need to check on &lt;a href="http://nettiers.com/"&gt;NetTiers&lt;/a&gt; again. I haven&amp;#8217;t paid much attention for the past couple of months; they have been adding tons of new stuff. We&amp;#8217;re actually using it for the current CSP project, but as I am avoiding actively coding, I haven&amp;#8217;t looked at what it&amp;#8217;s doing right now. My goal starting the SQLite provider last summer was to add support to NetTiers to generate a provider for &lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt;.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289277" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/11/contribution-to-entlib-contrib/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/11/contribution-to-entlib-contrib/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/11/contribution-to-entlib-contrib/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Career Day Wednesday]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289279/" />
		<id>http://freqken.net/2007/05/08/career-day-wednesday/</id>
		<updated>2008-03-29T23:45:34Z</updated>
		<published>2007-05-09T04:57:37Z</published>
		<category scheme="http://freqken.net" term="Kaitlyn" /><category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="school" />		<summary type="html"><![CDATA[I am going to be spending my morning tomorrow at my daughter&#8217;s elementary school, participating in their Career Day. I think I am going to have groups of 3rd - 5th graders wandering by, and I get to talk to them about being a computer programmer. Not really sure (still!) what I&#8217;m going to talk [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/08/career-day-wednesday/">&lt;p&gt;&lt;p&gt;I am going to be spending my morning tomorrow at my daughter&amp;#8217;s elementary school, participating in their Career Day. I think I am going to have groups of 3rd - 5th graders wandering by, and I get to talk to them about being a computer programmer.&lt;/p&gt; &lt;p&gt;Not really sure (still!) what I&amp;#8217;m going to talk about. I can show some code, but that&amp;#8217;s not really going to mean anything to them. I&amp;#8217;m thinking of some interactive questions (what is the biggest number a computer can count? Which is smarter, a baby or a computer?) and an activity where one student is the computer and another student is the programmer. They get to give the computer directions to accomplish some task. I think I&amp;#8217;m going to be in the gymnasium, so I&amp;#8217;ll probably get them to move to a certain location and do something like jump.&lt;/p&gt; &lt;p&gt;I also want to emphasize the craft nature of programming. Compare it to something like writing stories, or songs, or making paintings or sculptures.&lt;/p&gt; &lt;p&gt;I don&amp;#8217;t know how it&amp;#8217;s going to go, but it&amp;#8217;s a morning with my daughter and her school mates, so how bad can it truly be?&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:e40e8f22-731d-478c-a0b2-2d88acc2bfca" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;/div&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289279" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/08/career-day-wednesday/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/08/career-day-wednesday/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/08/career-day-wednesday/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[So, what&#8217;s this all about?]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289280/" />
		<id>http://freqken.net/2007/05/07/so-whats-this-all-about/</id>
		<updated>2008-03-29T23:46:57Z</updated>
		<published>2007-05-08T03:46:47Z</published>
		<category scheme="http://freqken.net" term="CIV" /><category scheme="http://freqken.net" term="Compassion" /><category scheme="http://freqken.net" term="CSP" /><category scheme="http://freqken.net" term="Software Development" />		<summary type="html"><![CDATA[That&#8217;s the big question, any time someone is starting a blog. I know there is something that I want to say; knowledge that I can provide to help someone solve their programming challenges. It&#8217;s just a matter of gaining the discipline to consistently post something.

I want to talk about the issues I see in our [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/07/so-whats-this-all-about/">&lt;p&gt;That&amp;#8217;s the big question, any time someone is starting a blog. I know there is something that I want to say; knowledge that I can provide to help someone solve their programming challenges. It&amp;#8217;s just a matter of gaining the discipline to consistently post something.&lt;/p&gt;

&lt;p&gt;I want to talk about the issues I see in our programming shop at work, what is causing them, and how I think I can help fix them. I want to explore ideas about meta-programming tools (software factories, code generators) that help to leverage the knowledge of a SME and distribute it to the entire team. I want a place to just talk about a cool tool that I&amp;#8217;ve found, or a bit of code that I might have written.&lt;/p&gt;

&lt;p&gt;By title, I&amp;#8217;m a Sr. Software Developer at &lt;a href="http://www.compassion.com"&gt;Compassion International&lt;/a&gt;. In actuality, I&amp;#8217;m moving (unofficially) into the role of a Solutions Architect. There are a few of us on the development team with the temperament and ability to look at the bigger picture, beyond the confines of the current project, and try to envision making all this &amp;#8220;stuff&amp;#8221; work together, and work well.&lt;/p&gt;

&lt;p&gt;Compassion is a Christ-centered organization ministering to children in poverty throughout the world. That fact makes it different than doing the same job for a bank or financial center. We&amp;#8217;re writing the same type of code, same kinds of applications, but at the end of it, I can look back and say that I am truly making a difference in the world, both today and in the future. We need to be effective with what we create; a failed or abandoned project is funding that could have gone to another effort within Compassion. There is a lot of self-imposed pressure applied. &lt;/p&gt;

&lt;p&gt;I am currently assigned to two projects: CSP and CIV (we love acronyms at Compassion). The CSP project is phase 2 out of about five, and is just about finished with refining requirements and beginning to write code. My role on this team has been different for me. This is the first time that I&amp;#8217;ve worked on a team and purposely not written any code. I feel like I can be more effective here by providing design guidance and helping the other team members to get their heads into the problem and express the ideas that I have come up with. We&amp;#8217;re also trying to follow a Scrum-like process, which is new for most of us on this team. Our biggest challenge at the moment is in defining our interim deliverables (what will we demo at the end of each two-week sprint). I think that is going to change in the near future. Most of the uncertainty in what we are building has been driven out (or at least exposed to the light so that we can stab at it!) and the project manager is going to help us refine our backlog of features and get it broken into tasks and prioritized. The customers on this project are not really into the whole Scrum idea, so there is a lot of us pushing things to the customer and getting them to say &amp;#8220;Yeah, looks good,&amp;#8221; or &amp;#8220;What were you thinking?!&amp;#8221; Either one works for me, as it gets discussion going between the development team and the business unit that will ultimately have to live with the code.&lt;/p&gt;

&lt;p&gt;The second project is CIV. It is going through changes at the moment, and building steam. We were initially looking at an ASP to provide most of the functionality, supplementing it where necessary with custom code through web services the ASP provides. The problem (or opportunity, pick your side of the coin) is that CIV shares a lot of processes and ideas with the CSP project. The project management group has finally seen that, and we are going to be building CIV in the footsteps of CSP. Right now, I&amp;#8217;m going back and reviewing the analysis and process diagramming that was created for CSP and identifying similarities and differences. I expect that when we finally get to a place to code, it will involve a lot of work refactoring what was done for CSP and making it more general in the process of adding support for CIV. Overall, this is a good goal, but something that is difficult to explain to management, or to predict how long/how much to do it.&lt;/p&gt;

&lt;p&gt;So, expect plenty of talk about issues that crop up on the teams, ideas about how to make the teams more effective, and how to distribute the knowledge that individual programmers have in their heads to the entire department.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289280" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/07/so-whats-this-all-about/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/07/so-whats-this-all-about/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/07/so-whats-this-all-about/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>freqken</name>
						<uri>http://freqken.net/</uri>
					</author>
		<title type="html"><![CDATA[Patterns&#038;Practices Contrib Projects]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/freqken/~3/130289281/" />
		<id>http://freqken.net/2007/05/07/patternspractices-contrib-projects/</id>
		<updated>2008-03-29T23:46:19Z</updated>
		<published>2007-05-08T03:16:30Z</published>
		<category scheme="http://freqken.net" term=".net" /><category scheme="http://freqken.net" term="CodePlex" /><category scheme="http://freqken.net" term="Enterprise Library" /><category scheme="http://freqken.net" term="programming" /><category scheme="http://freqken.net" term="SCSF" /><category scheme="http://freqken.net" term="WCSF" />		<summary type="html"><![CDATA[Via Tom Hollander: p&#038;p Contrib Open for Business

The patterns&#038;practices team at Microsoft, responsible for a ton of useful code, has opened several new projects on CodePlex. There are projects for Enterprise Library, the Web Client Software Factory, and the Smart Client Software Factory. SCSF Contrib and WCSF Contrib aren&#8217;t public just yet, but the EntLib [...]]]></summary>
		<content type="html" xml:base="http://freqken.net/2007/05/07/patternspractices-contrib-projects/">&lt;p&gt;Via Tom Hollander: &lt;a href="http://blogs.msdn.com/tomholl/archive/2007/05/02/help-wanted-quot-p-amp-p-contrib-quot-is-open-for-business.aspx"&gt;p&amp;#038;p Contrib Open for Business&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The patterns&amp;#038;practices team at Microsoft, responsible for a &lt;strong&gt;ton&lt;/strong&gt; of useful code, has opened several new projects on CodePlex. There are projects for Enterprise Library, the Web Client Software Factory, and the Smart Client Software Factory. SCSF Contrib and WCSF Contrib aren&amp;#8217;t public just yet, but the EntLib Contrib project is rolling. There have been two submissions (some new PIAB matching rules and a DAAB provider for MySQL). I&amp;#8217;ve been playing with putting together a provider for SQLite; I think this is just the push I need to get that tested and finished.&lt;/p&gt;

&lt;p&gt;Thanks patterns&amp;#038;practices, for these new projects and all the help you&amp;#8217;ve provided in the past.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/freqken/~4/130289281" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://freqken.net/2007/05/07/patternspractices-contrib-projects/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://freqken.net/2007/05/07/patternspractices-contrib-projects/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://freqken.net/2007/05/07/patternspractices-contrib-projects/</feedburner:origLink></entry>
	</feed>
