<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Farr Side</title>
	<atom:link href="http://ericfarr.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericfarr.wordpress.com</link>
	<description>Taking software teams and organizations to the next level.</description>
	<lastBuildDate>Sat, 19 Feb 2011 12:40:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ericfarr.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/30b9a2c8b19e2e7fa5b65a313de1f852?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>The Farr Side</title>
		<link>http://ericfarr.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ericfarr.wordpress.com/osd.xml" title="The Farr Side" />
	<atom:link rel='hub' href='http://ericfarr.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Working with Recruiters</title>
		<link>http://ericfarr.wordpress.com/2010/11/04/working-with-recruiters/</link>
		<comments>http://ericfarr.wordpress.com/2010/11/04/working-with-recruiters/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 11:51:38 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Hiring]]></category>

		<guid isPermaLink="false">https://ericfarr.wordpress.com/2010/11/04/working-with-recruiters/</guid>
		<description><![CDATA[Where I work, we needed to add some capacity to our product development team. It was a short term need that could have turned into a long-term need if things go well. We were looking for a contract developer for a three to six month contract. Sounds easy enough, but there were some complicating factors: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=159&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Where I work, we needed to add some capacity to our product development team. It was a short term need that could have turned into a long-term need if things go well. We were looking for a contract developer for a three to six month contract. Sounds easy enough, but there were some complicating factors:</p>
<ol>
<li>In order to help with the short term need, we had to get the person in pretty quickly.</li>
<li>We’re didn’t have a lot of time to devote to recruit someone.</li>
<li>Our current team is very effective.</li>
</ol>
<p>The first two items are typical of any team needing to increase capacity. Item number three is where it gets interesting.</p>
<p>When I say that the current team is effective, I mean that we get a lot done, we enjoy the work, and we enjoy working together. We believe that the product and the codebase is getting better with each sprint.</p>
<p>I attribute this to core values we have as software developers:</p>
<p><strong>agile</strong>: We believe in deferring decisions to the last responsible moment to keep our options open and to be able to adapt.</p>
<p><strong>object oriented/domain driven</strong>: We start with the domain concepts and the object model and not the database. We’ve leveraged NHibernate on the server and object serialization on the device to eliminate buggy hand-coded SQL.</p>
<p><strong>software craftsmanship</strong>: We view software as a craft to be mastered, not by learning a new technology like WCF or WPF, but by developing sound judgment and applying the basics like those expressed in the <a href="http://ericfarr.net/2009/01/01/solid-what-is-old-is-new-again/">SOLID</a> principles.</p>
<p><strong>XP/Scrum</strong>: We embrace the engineering practices expressed in eXtreme Programming: collective code ownership, continuous integration, pair programming, and automated testing.</p>
<p>The developer we add to the team must already value these things or must adopt these values to work effectively. A developer arguing to implement a stored procedure on the next feature because it would be more efficient (whether right or wrong) would be counterproductive. Someone opposed to pairing on tasks would reduce the team’s energy and be a distraction.</p>
<p>The first problem is that it is difficult to communicate the values that make our team effective to a recruiter that doesn’t have the context.</p>
<p>Recruiters tend to fall back on what they know… more experience and greater sense of leadership is better. This leads to a paradoxical problem: the more experience a developer has and the more leadership he has shown, the more important it is that he (or she) be a fit for the team. Less experienced developers are 1) more moldable and 2) less responsible for their experience.</p>
<p><strong>The Advantage of Inexperience</strong></p>
<p>Less experienced developers tend to be more open to learning new skills and adopting new values. The good ones recognize that they have a lot to learn—both in techniques and what fundamental values lead to better software.</p>
<p>Less experienced developers also tend to have less control over the the technology and methods they use on the job. They often don’t know what to look for in accepting their first job or two and don’t have the influence to change the direction once they get there. So, I hold less experienced developers less responsible for their lack of experience with object oriented, domain driven technologies and insistence on agile methods.</p>
<p><strong>The Burden of Experience</strong></p>
<p>Developers with many years of experience tend to be the leaders within their teams and organizations. They are the ones who drive the technical decisions and shape the values of their organizations. Because of this, we have a higher expectation that these developers are experienced in the techniques we use and hold the values that we hold. If they don’t, it is mostly likely that their convictions are more settled and they are much less likely to change.</p>
<p><strong>Communicating to Recruiters</strong></p>
<p>Evidently, I was ineffective in communicating this idea to the recruiters who were helping us. Recruiters continued to send people to us touting ten years of SQL Server stored procedure experience or any combination of Microsoft technology TLAs. I don’t think they understood what I meant when I would said that a particular person had <em>too much</em> experience (of the wrong kind).</p>
<p>So, I brainstormed with the team and tried to spell it out with a diagram that looked like this:</p>
<p><a href="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit.jpg"><img style="display:inline;border-width:0;" title="ExperienceVsFit" src="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit_thumb.jpg?w=475&#038;h=392" border="0" alt="ExperienceVsFit" width="475" height="392" /></a></p>
<p>I thought maybe the picture would do what the thousand words hadn’t. No such luck… I had to explain the chart to guys on the team; so, there was no way this would help the recruiters. Undaunted, I made one more attempt, this time with a simpler drawing:</p>
<p><a href="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit2.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;" title="ExperienceVsFit2" src="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit2_thumb.jpg?w=486&#038;h=425" border="0" alt="ExperienceVsFit2" width="486" height="425" /></a></p>
<p>I thought maybe this “magic quadrant” style graphic would work better, but consensus was that it still didn’t make it simple enough.</p>
<p>So, I gave up on the conceptual approach, and boiled it down to some questions, based on the years of programming experience the person has.</p>
<p>For <strong>developers with 1 to 4 years of experience</strong>, only one question:</p>
<p><em>Would you like to work on a agile team?</em></p>
<p>I went on to explain that we think a less experienced developer will adapt to our style of working if he/she is interested in learning the way we do things. We also think it will be very valuable and marketable experience.</p>
<p>For <strong>developers with 5+ years of experience</strong>:</p>
<p><em>What are the <a href="http://ericfarr.net/2009/01/01/solid-what-is-old-is-new-again/">SOLID</a> principles and why are they important?</em></p>
<p><em>What are three principles of Domain-Driven Design?</em></p>
<p><em>What does <a href="http://www.udidahan.com/2009/12/09/clarified-cqrs/">CQRS</a> stand for?</em></p>
<p><em>What is your favorite ORM and why?</em></p>
<p><em>What CI tools have you used?</em></p>
<p><em>The candidate should be able to answer at least 3 of the 5 questions without hesitation. Someone without the experience we are looking for will probably not recognize the terms and won’t be able to answer them.</em></p>
<p>The idea was that an experienced developer who does not embrace the agile/DDD approach would not be familiar enough these terms that are peculiar to that world to answer the questions. The answers themselves are not that important (anyone does not use them won’t be able to interpret those answers, anyway), but familiarity with the terms indicates that we should talk to the person.</p>
<p>Because of some short-term issues, we put off the hire. I am hopeful to give this approach a try soon, though.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=159&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2010/11/04/working-with-recruiters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>

		<media:content url="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit_thumb.jpg" medium="image">
			<media:title type="html">ExperienceVsFit</media:title>
		</media:content>

		<media:content url="http://ericfarr.files.wordpress.com/2010/11/experiencevsfit2_thumb.jpg" medium="image">
			<media:title type="html">ExperienceVsFit2</media:title>
		</media:content>
	</item>
		<item>
		<title>Developing for Android on 64 bit Windows 7</title>
		<link>http://ericfarr.wordpress.com/2010/07/23/developing-for-android-on-64-bit-windows-7/</link>
		<comments>http://ericfarr.wordpress.com/2010/07/23/developing-for-android-on-64-bit-windows-7/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 18:01:27 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">https://ericfarr.wordpress.com/2010/07/23/developing-for-android-on-64-bit-windows-7/</guid>
		<description><![CDATA[The instructions on the Google site for setting up for Android development within Eclipse on Windows is pretty good. However, there are a few things to watch out for (as of today, July 23, 2010): Stay away from Eclipse 3.6. The Android Plug-in does not fully support it. Choose the 64 bit Windows version of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=140&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://developer.android.com/sdk/installing.html">instructions</a> on the Google site for setting up for Android development within Eclipse on Windows is pretty good. However, there are a few things to watch out for (as of today, July 23, 2010):</p>
<ul>
<li>Stay away from Eclipse 3.6. The Android Plug-in does not fully support it.</li>
<li>Choose the <strong>64 bit</strong> Windows version of <a href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-win32-x86_64.zip">Eclipse 3.5 (SR2) classic</a>.</li>
<li>Choose the <strong>64 bit</strong> version of the <a href="http://java.sun.com/products/archive/j2se/6u20/index.html">JDK 1.6 update 20</a>. There are reported problems with update 21 and Eclipse.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=140&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2010/07/23/developing-for-android-on-64-bit-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Raising The Bar: Manifesto for Software Craftsmanship</title>
		<link>http://ericfarr.wordpress.com/2010/07/20/raising-the-bar-manifesto-for-software-craftsmanship/</link>
		<comments>http://ericfarr.wordpress.com/2010/07/20/raising-the-bar-manifesto-for-software-craftsmanship/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:51:01 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">https://ericfarr.wordpress.com/2010/07/20/raising-the-bar-manifesto-for-software-craftsmanship/</guid>
		<description><![CDATA[I’ve long been a fan of agile software development as crystallized in the Agile Manifesto. However, I’ve also felt like the core tenants laid out there are too vague to help software organizations actually be successful. I’ve recently learned of (and signed) the Manifesto for Software Craftsmanship. It is still short on details of how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=135&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[</p>
<p>I’ve long been a fan of agile software development as crystallized in the <a href="http://agilemanifesto.org/">Agile Manifesto</a>. However, I’ve also felt like the core tenants laid out there are too vague to help software organizations actually be successful. I’ve recently learned of (and signed) the <a href="http://manifesto.softwarecraftsmanship.org/">Manifesto for Software Craftsmanship</a>. It is still short on details of how to do it (as I guess any document of this nature must be), but I think it is a nice raising of the bar of the original manifesto:</p>
<blockquote><p>As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:</p>
<p>Not only working software, but also well-crafted software</p>
<p>Not only responding to change, but also steadily adding value</p>
<p>Not only individuals and interactions, but also a community of professionals</p>
<p>Not only customer collaboration, but also productive partnerships</p>
<p>That is, in pursuit of the items on the left we have found the items on the right to be indispensable.</p>
<p>© 2009, the undersigned. this statement may be freely copied in any form, but only in its entirety through this notice. </p>
</blockquote>
<p>Bob Martin does a great job expanding on it in <a href="http://www.se-radio.net/podcast/2009-11/episode-150-software-craftsmanship-bob-martin">this Software Engineering Radio interview</a>. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=135&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2010/07/20/raising-the-bar-manifesto-for-software-craftsmanship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Shout Out to Doxygen</title>
		<link>http://ericfarr.wordpress.com/2010/07/06/shout-out-to-doxygen/</link>
		<comments>http://ericfarr.wordpress.com/2010/07/06/shout-out-to-doxygen/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 00:45:52 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">https://ericfarr.wordpress.com/2010/07/06/shout-out-to-doxygen/</guid>
		<description><![CDATA[Software Architecture is largely a matter of communication. One big area of communications is documenting a library, whether for internal or external consumption. It is well-known that written documentation goes out of date the minute you publish it. The only hope of keeping the documentation up-to-date is to have the it embedded within source code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=116&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Software Architecture is largely a matter of communication. One big area of communications is documenting a library, whether for internal or external consumption. It is well-known that written documentation goes out of date the minute you publish it. </p>
<p>The only hope of keeping the documentation up-to-date is to have the it embedded within source code it is illuminating. This allows you to update the doc as you update the code. The Javadoc and C# XML comments are good for this, but don’t give you a good way to provide anything beyond documentation of classes and methods, which often falls short in properly documenting a library or code base.</p>
<p><a href="http://www.doxygen.org">Doxygen</a> is a capable, open source library that combines the comment-based documentation with a full mark-up language that allows you to add text, diagrams, pages, sections, lists, etc. that allows for robust documentation.</p>
<p>Some of my favorite features include:</p>
<ul>
<li>Auto-generated class and collaboration diagrams</li>
<li>The ability to include hyperlinked source</li>
<li>Compiled Help format</li>
<li>PDF format</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=116&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2010/07/06/shout-out-to-doxygen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Update Route Tables on Windows Mobile</title>
		<link>http://ericfarr.wordpress.com/2010/02/03/update-route-tables-on-windows-mobile/</link>
		<comments>http://ericfarr.wordpress.com/2010/02/03/update-route-tables-on-windows-mobile/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 15:58:53 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://ericfarr.wordpress.com/2010/02/03/update-route-tables-on-windows-mobile/</guid>
		<description><![CDATA[Our dev team needed to do something that, evidently, very few people need to do… update the routing tables on a Windows Mobile device that is simultaneously connected to both WiFi and the wireless carrier. Internet searching was very little help, but we eventually stumbled across a nifty little shareware app called PocketLAN by z2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=108&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Our dev team needed to do something that, evidently, very few people need to do… update the routing tables on a Windows Mobile device that is simultaneously connected to both WiFi and the wireless carrier. Internet searching was very little help, but we eventually stumbled across a nifty little shareware app called <a href="http://www.z2software.com/PocketLAN.htm">PocketLAN</a> by z2 Software. If you are doing any advanced networking on a Windows Mobile device, PocketLAN is well worth the $14.99.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=108&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2010/02/03/update-route-tables-on-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>A Nifty Extension Method for Mapping Property Values by Name</title>
		<link>http://ericfarr.wordpress.com/2009/06/08/a-nifty-extension-method-for-mapping-property-values-by-name/</link>
		<comments>http://ericfarr.wordpress.com/2009/06/08/a-nifty-extension-method-for-mapping-property-values-by-name/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:30:19 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[AutoMapper]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[extension method]]></category>

		<guid isPermaLink="false">http://ericfarr.net/?p=89</guid>
		<description><![CDATA[Here is a nice little C# extension method that allows you to copy all of the properties from one object to another where the names match. SetPropertiesByName(this object target, object source) { PropertyInfo[] sourceProperties = source.GetType().GetProperties(); PropertyInfo[] targetProperties = target.GetType().GetProperties(); foreach (PropertyInfo targetField in targetProperties) { PropertyInfo sourceProperty = (sourceProperties.Where(f =&#62; f.Name == targetField.Name)).FirstOrDefault(); if [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=89&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here is a nice little C# extension method that allows you to copy all of the properties from one object to another where the names match.</p>
<p>SetPropertiesByName(this object target, object source)<br />
{<br />
PropertyInfo[] sourceProperties = source.GetType().GetProperties();<br />
PropertyInfo[] targetProperties = target.GetType().GetProperties();<br />
foreach (PropertyInfo targetField in targetProperties)<br />
{<br />
PropertyInfo sourceProperty =<br />
(sourceProperties.Where(f =&gt; f.Name == targetField.Name)).FirstOrDefault();</p>
<p>if (sourceProperty.IsNotNull())<br />
{<br />
targetField.SetValue(target, sourceProperty.GetValue(source, null), null);<br />
}<br />
}<br />
}</p>
<p>The usage looks this…</p>
<p>foo.SetPropertiesByName(bar);</p>
<p>I was using <a href="http://www.codeplex.com/AutoMapper">AutoMapper</a> for this, but it was overkill for what I needed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=89&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2009/06/08/a-nifty-extension-method-for-mapping-property-values-by-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Desktop Developer’s Introduction to Compact Framework Development: Part 4-LINQ on the Compact Framework</title>
		<link>http://ericfarr.wordpress.com/2009/06/08/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-4-linq-on-the-compact-framework/</link>
		<comments>http://ericfarr.wordpress.com/2009/06/08/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-4-linq-on-the-compact-framework/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:30:05 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://ericfarr.net/?p=87</guid>
		<description><![CDATA[LINQ (Language-Integrated Query) is supported on the Compact Framework. However, like with every other technology on CF, there is stuff you might that isn&#8217;t there. In my case, it&#8217;s LINQ to SQL. System.Data.Linq is not provided on the Compact Framework. Also, contrary to some reports, the Entity Framework 3.5 is not provided on the Compact [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=87&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>LINQ (Language-Integrated Query) is supported on the Compact Framework. However, like with every other technology on CF, there is stuff you might that isn&#8217;t there. In my case, it&#8217;s LINQ to SQL. System.Data.Linq is not provided on the Compact Framework.</p>
<p>Also, contrary to <a href="http://jmayo.spaces.live.com/blog/cns!5F243997972597CE!568.entry">some reports</a>, the Entity Framework 3.5 is not provided on the Compact Framework, either.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=87&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2009/06/08/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-4-linq-on-the-compact-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Referencing a File by Relative Path with T4</title>
		<link>http://ericfarr.wordpress.com/2009/06/05/referencing-a-file-by-relative-path-with-t4/</link>
		<comments>http://ericfarr.wordpress.com/2009/06/05/referencing-a-file-by-relative-path-with-t4/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 17:43:22 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[T4]]></category>

		<guid isPermaLink="false">http://ericfarr.net/?p=94</guid>
		<description><![CDATA[This was way harder to figure out than it should have been, so for the next person that needs to reference an input file in a T4 template by its relative path, here is what you need to do&#8230; 1. Include T4Toolbox.tt&#8230; &#60;#@ include file=&#8221;T4Toolbox.tt&#8221; #&#62; 2. Add hostspecific=&#8221;True&#8221; to your template setting&#8230; &#60;#@ template [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=94&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This was way harder to figure out than it should have been, so for the next person that needs to reference an input file in a <a title="T4 Template Engine" href="http://msdn.microsoft.com/en-us/library/bb126445.aspx">T4</a> template by its relative path, here is what you need to do&#8230;</p>
<p>1. Include T4Toolbox.tt&#8230;</p>
<p>&lt;#@ include file=&#8221;T4Toolbox.tt&#8221; #&gt;</p>
<p>2. Add hostspecific=&#8221;True&#8221; to your template setting&#8230;</p>
<p>&lt;#@ template language=&#8221;C#&#8221; hostspecific=&#8221;True&#8221; #&gt;</p>
<p>3. Import EnvDTE&#8230;</p>
<p>&lt;#@ import namespace=&#8221;EnvDTE&#8221; #&gt;</p>
<p>4. Now TransformationContext.Host.ResolvePath(&#8220;SomeFile.sdf&#8221;) will return the absolute path of &#8220;SomeFile.sdf&#8221;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=94&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2009/06/05/referencing-a-file-by-relative-path-with-t4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Domain-Driven Design Friendly Persistence on the Compact Framework</title>
		<link>http://ericfarr.wordpress.com/2009/04/13/domain-driven-design-friendly-persistence-on-the-compact-framework/</link>
		<comments>http://ericfarr.wordpress.com/2009/04/13/domain-driven-design-friendly-persistence-on-the-compact-framework/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 11:27:48 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Entity Spaces]]></category>
		<category><![CDATA[LLBLGen]]></category>
		<category><![CDATA[persistence]]></category>

		<guid isPermaLink="false">http://ericfarr.net/2009/04/13/domain-driven-design-friendly-persistence-on-the-compact-framework/</guid>
		<description><![CDATA[I&#8217;ve been searching for a persistence tool that will eliminate the hand coding of our basic CRUD operations. I&#8217;m looking for something that allows us to develop our domain model in plain, unencumbered C# classes, and later persist them to a data store. Ideally, I&#8217;d like to use the same tool on both the Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=84&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been searching for a persistence tool that will eliminate the hand coding of our basic CRUD operations. I&#8217;m looking for something that allows us to develop our domain model in plain, unencumbered C# classes, and later persist them to a data store. Ideally, I&#8217;d like to use the same tool on both the Windows Mobile devices and on the server (just so we don&#8217;t have to learn two different tools or frameworks). This is the story of my pain…
</p>
<p><strong>NHibernate</strong> – The first and obvious choice for DDD-friendly persistence in .NET is <a href="http://www.nhibernate.org/">NHibernate</a>. It is a true object-first ORM and seems to have a lot of interesting tooling growing up around it. Alas, NHibernate is not supported on the Compact Framework because of some unsupported reflection it uses.
</p>
<p><strong>LLBLGen Pro</strong> – Developers who use <a href="http://www.llblgen.com/">LLBLGen Pro</a> seem to love it. It is supported on the Compact Framework, but LLBLGen will not support an object-first approach until version 3.0 which won&#8217;t even beta until the end of Summer 2009, which is way too late for me.
</p>
<p><strong>Entity Spaces</strong> – <a href="http://www.entityspaces.net">Entity Spaces</a> is yet another commercial database-first ORM that runs on the Compact Framework. I don&#8217;t see anything that it offers that LLBLGen doesn&#8217;t offer.
</p>
<p><strong>Entity Framework</strong> – <a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework">Entity Framework</a> is supported on the Compact Framework and is free but does not support any kind of POCO, object-first approach.
</p>
<p><strong>db4objects</strong> &#8211; <a href="http://www.db4o.com/">db4objects</a> was an extremely intriguing option. I had never considered using an object database before. I found db4o extremely easy to use and intuitive—perfect for the lightweight storage needs we have on handheld devices. However, db4o is offered under a <a href="http://www.db4o.com/about/company/legalpolicies/gpl.aspx">GPL</a> or commercial license. The GPL license won&#8217;t work for us and the commercial license is orders of magnitude more expensive than a tool like LLBLGen or Entity Spaces.
</p>
<p>Given that having our developers write all of the database access code by hand is (in my opinion) too time-consuming and error prone, I&#8217;m left facing some sort of compromise approach.
</p>
<p>One option is to create my domain model as I need to, ignoring persistence. Then, within my repository implementation use a data-first tool, treating the &#8220;entities&#8221; generated by the persistence tool as DTOs and manually translate them into my true domain objects.
</p>
<p>The second option is to again model the domain, but attempt to back into the code we need for those objects using a tool like EF or LLBLGen. The Patterns and Practices guys seem to think this approach is true to the DDD concept (<a href="http://apparch.codeplex.com/Wiki/View.aspx?title=How%20To%20-%20Domain%20Driven%20Design">see this article</a>). I&#8217;m not sure I agree.
</p>
<p>I think I&#8217;ll give a go at the second approach and fall back to the first if I see that the database schema, and not my domain, is driving the conceptual creation of my object model. I&#8217;ll also have to figure out whether to use LLBLGen or Entity Framework. EF is free, but LLBLGen is more mature and may offer a better option in the next version.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=84&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2009/04/13/domain-driven-design-friendly-persistence-on-the-compact-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
		<item>
		<title>Desktop Developer’s Introduction to Compact Framework Development: Part 3-C++/CLI on Compact Framework</title>
		<link>http://ericfarr.wordpress.com/2009/01/29/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-3-ccli-on-compact-framework/</link>
		<comments>http://ericfarr.wordpress.com/2009/01/29/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-3-ccli-on-compact-framework/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 22:07:59 +0000</pubDate>
		<dc:creator>Eric Farr</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[C++/CLI]]></category>
		<category><![CDATA[interop]]></category>
		<category><![CDATA[Managed C++]]></category>
		<category><![CDATA[P/Invoke]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://ericfarr.net/?p=81</guid>
		<description><![CDATA[It may seem like a waste to have a whole post dedicated to a feature that isn&#8217;t there, but knowing this fact would have saved me some wasted mental effort and disappointment. The Compact Framework is necessarily small. Microsoft only puts functionality into it that developers will be likely to actually need. This means that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=81&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It may seem like a waste to have a whole post dedicated to a feature that isn&#8217;t there, but knowing this fact would have saved me some wasted mental effort and disappointment.</p>
<p>The Compact Framework is necessarily small. Microsoft only puts functionality into it that developers will be likely to actually need. This means that a lot of stuff you&#8217;d like to be there isn&#8217;t. This also means that you might need to interoperate with native code to do some of what you want to do.</p>
<p>If you are like me, this means you would like to use C++/CLI (the old-school .NET technology formerly known as Managed C++) to do that interop. You, like me, would be sorely disappointed. C++/CLI is not supported on the Compact Framework, and as far as I know there are no plans to add it. Prepare to P/Invoke.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ericfarr.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ericfarr.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ericfarr.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ericfarr.wordpress.com&amp;blog=5295076&amp;post=81&amp;subd=ericfarr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ericfarr.wordpress.com/2009/01/29/desktop-developer%e2%80%99s-introduction-to-compact-framework-development-part-3-ccli-on-compact-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81fa4a195187b1a5c38b033d91be8a7b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">efarr</media:title>
		</media:content>
	</item>
	</channel>
</rss>
