<?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>Didactic Code</title>
	<atom:link href="http://davefancher.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://davefancher.com</link>
	<description>Learn By Doing</description>
	<lastBuildDate>Fri, 18 May 2012 19:40:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='davefancher.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Didactic Code</title>
		<link>http://davefancher.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://davefancher.com/osd.xml" title="Didactic Code" />
	<atom:link rel='hub' href='http://davefancher.com/?pushpress=hub'/>
		<item>
		<title>Visio Stencil and Template for UML 2.2</title>
		<link>http://davefancher.com/2012/05/18/visio-stencil-and-template-for-uml-2-2/</link>
		<comments>http://davefancher.com/2012/05/18/visio-stencil-and-template-for-uml-2-2/#comments</comments>
		<pubDate>Fri, 18 May 2012 19:40:48 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=2001</guid>
		<description><![CDATA[Visio 2010 includes software and database diagrams out of the box with the Professional and Premium editions but if you&#8217;re using the standard edition, good luck.  Once again I&#8217;m a little late to the party on this but I wanted to share a collection of UML stencils and a template I ran across today. I&#8217;m &#8230; <a href="http://davefancher.com/2012/05/18/visio-stencil-and-template-for-uml-2-2/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=2001&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Visio 2010 includes software and database diagrams out of the box with the Professional and Premium editions but if you&#8217;re using the standard edition, good luck.  Once again I&#8217;m a little late to the party on this but I wanted to share a collection of UML stencils and a template I ran across today.</p>
<p>I&#8217;m far from a UML expert but from what I can tell, this is a pretty complete package that includes tooltips, multiple connection points, and expandable compartments.</p>
<p>If this is something you&#8217;ve been looking for you can grab it from the link below.  The stencils and templates are available for Vision versions all the way back to 4.1.  Be sure to check out the tips and tricks page for descriptions of the more advanced features of this set.</p>
<p><a href="http://www.softwarestencils.com/uml/index.html">Visio Stencil and Template for UML 2.2</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/2001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/2001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/2001/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=2001&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/05/18/visio-stencil-and-template-for-uml-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>Cool Swag from Stack Overflow</title>
		<link>http://davefancher.com/2012/05/08/nice-gift-from-stack-overflow/</link>
		<comments>http://davefancher.com/2012/05/08/nice-gift-from-stack-overflow/#comments</comments>
		<pubDate>Wed, 09 May 2012 03:03:59 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Careers 2.0]]></category>
		<category><![CDATA[Padfolio]]></category>
		<category><![CDATA[Stack Overflow]]></category>
		<category><![CDATA[Swag]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1988</guid>
		<description><![CDATA[This afternoon Esther called me at work to say that I&#8217;d received a package from some place called Stack Overflow.  Inside was a nice, branded padfolio, pen, and a few other things.  I was surprised about receiving this but the smart people over there anticipated my reaction and included a cover letter explaining it was &#8230; <a href="http://davefancher.com/2012/05/08/nice-gift-from-stack-overflow/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1988&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1990" title="Stack Overflow Padfolio" src="http://davefancher.files.wordpress.com/2012/05/stack-overflow-padfolio1.jpg?w=225&h=300" alt="Stack Overflow Padfolio" width="225" height="300" /></p>
<p>This afternoon Esther called me at work to say that I&#8217;d received a package from some place called <a title="Stack Overflow" href="http://stackoverflow.com/">Stack Overflow</a>.  Inside was a nice, branded padfolio, pen, and a few other things.  I was surprised about receiving this but the smart people over there anticipated my reaction and included a cover letter explaining it was a gift for having been an active <a title="Stack Overflow Careers" href="http://careers.stackoverflow.com">Careers 2.0</a> user during my job search.</p>
<p>I was really impressed with the what the site offered.  I especially like how it goes beyond the traditional résumé by including sections for community involvement via avenues like blog posts and open source projects.  Being able to export the profile to PDF for easy submission to potential employers is a welcome feature too.  It was fun when I interviewed at Leaf and one of my interviewers recognized my résumé&#8217;s format as the one from the Careers 2.0.</p>
<p>My job search may be over but I&#8217;ll still be putting this to good use.  Thanks, Stack Overflow Careers team!</p>
<p><em>On a related note, I still have a few invitations for Careers 2.0 available.  If you&#8217;re interested and serious about using them drop me a note.</em></p>
<br /> Tagged: <a href='http://davefancher.com/tag/careers-2-0/'>Careers 2.0</a>, <a href='http://davefancher.com/tag/padfolio/'>Padfolio</a>, <a href='http://davefancher.com/tag/stack-overflow/'>Stack Overflow</a>, <a href='http://davefancher.com/tag/swag/'>Swag</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1988/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1988/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1988/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1988&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/05/08/nice-gift-from-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>

		<media:content url="http://davefancher.files.wordpress.com/2012/05/stack-overflow-padfolio1.jpg?w=225" medium="image">
			<media:title type="html">Stack Overflow Padfolio</media:title>
		</media:content>
	</item>
		<item>
		<title>IndyNDA &#8211; Your Spark Razored my NHaml</title>
		<link>http://davefancher.com/2012/05/07/indynda-your-spark-razored-my-nhaml/</link>
		<comments>http://davefancher.com/2012/05/07/indynda-your-spark-razored-my-nhaml/#comments</comments>
		<pubDate>Tue, 08 May 2012 03:44:05 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[IndyNDA]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[User Groups]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[NHaml]]></category>
		<category><![CDATA[Razor]]></category>
		<category><![CDATA[Spark]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1895</guid>
		<description><![CDATA[When Jay Harris told me at KalamazooX that he was going to be speaking at IndyNDA soon I got really excited. That&#8217;s why I&#8217;m upset that for the first time in nearly two years I can&#8217;t make it!  On the bright side, I&#8217;ll be hanging out with my wife in Las Vegas as we celebrate &#8230; <a href="http://davefancher.com/2012/05/07/indynda-your-spark-razored-my-nhaml/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1895&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When Jay Harris told me at KalamazooX that he was going to be speaking at IndyNDA soon I got really excited. That&#8217;s why I&#8217;m upset that for the first time in nearly two years I can&#8217;t make it!  On the bright side, I&#8217;ll be hanging out with my wife in Las Vegas as we celebrate our 10 year anniversary.</p>
<p>This month Jay is going to discuss a few of the ASP.NET MVC view engines, namely Spark, Razor, and NHaml. Jay is a great speaker and an all around good guy so if you can make this event I highly recommend it.</p>
<p>This month&#8217;s meeting will be at:</p>
<p>Wiley Publishing<br />
10475 Crosspoint Blvd<br />
Indianapolis, IN 46256</p>
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=10475 Crosspoint Blvd, Indianapolis, IN 46256&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=40.460237,81.123047&amp;ie=UTF8&amp;hnear=10475 Crosspoint Blvd, Indianapolis, Indiana 46256&amp;t=m&amp;z=14&amp;ll=39.938649,-86.0237&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=10475 Crosspoint Blvd, Indianapolis, IN 46256&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=40.460237,81.123047&amp;ie=UTF8&amp;hnear=10475 Crosspoint Blvd, Indianapolis, Indiana 46256&amp;t=m&amp;z=14&amp;ll=39.938649,-86.0237&amp;source=embed" style="text-align:left">View Larger Map</a></small>
<br /> Tagged: <a href='http://davefancher.com/tag/asp-net/'>ASP.NET</a>, <a href='http://davefancher.com/tag/asp-net-mvc/'>ASP.NET MVC</a>, <a href='http://davefancher.com/tag/community/'>Community</a>, <a href='http://davefancher.com/tag/indynda/'>IndyNDA</a>, <a href='http://davefancher.com/tag/nhaml/'>NHaml</a>, <a href='http://davefancher.com/tag/razor/'>Razor</a>, <a href='http://davefancher.com/tag/spark/'>Spark</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1895/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1895/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1895/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1895&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/05/07/indynda-your-spark-razored-my-nhaml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>My Lumia Has Landed</title>
		<link>http://davefancher.com/2012/05/04/my-lumia-has-landed/</link>
		<comments>http://davefancher.com/2012/05/04/my-lumia-has-landed/#comments</comments>
		<pubDate>Fri, 04 May 2012 05:30:29 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Nokia Lumia]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1960</guid>
		<description><![CDATA[Anyone that knows me personally or has been following this blog for a while knows that I was an early adopter of Windows Phone.  When I first heard about the platform and saw how Microsoft was re-imagining the mobile phone experience I knew which OS my next phone was going to have.  I&#8217;ve taken some &#8230; <a href="http://davefancher.com/2012/05/04/my-lumia-has-landed/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1960&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anyone that knows me personally or has been following this blog for a while knows that I was an early adopter of Windows Phone.  When I first heard about the platform and saw how Microsoft was re-imagining the mobile phone experience I knew which OS my next phone was going to have.  I&#8217;ve taken some heat from some friends over my enthusiasm of the fledgling platform but nevertheless I went ahead and <a title="A Few Days with Windows Phone 7" href="http://davefancher.com/2010/11/11/a-few-days-with-windows-phone-7/">got a Samsung Focus</a> the day it was released and haven&#8217;t looked back.</p>
<p><a href="http://davefancher.files.wordpress.com/2012/04/700-nokia-lumia-900_duo.jpg"><img class="alignright size-medium wp-image-1964" title="Nokia Lumia 900" src="http://davefancher.files.wordpress.com/2012/04/700-nokia-lumia-900_duo.jpg?w=300&h=198" alt="Nokia Lumia 900" width="300" height="198" /></a>Here we are about a year and a half later and the game has changed.  The highly anticipated (at least among us Windows Phone enthusiasts) <a title="Nokia Lumia 900" href="http://www.nokia.com/us-en/lumia900/">Nokia Lumia 900</a> has been released on <a title="Nokia Lumia 900 on AT&amp;T" href="http://www.att.com/lumia">AT&amp;T</a>.  Unlike previous Windows Phones though, AT&amp;T seems to be giving this device the respect it deserves with a <a title="AT&amp;T reportedly spending $150 million to promote the Nokia Lumia 900" href="http://www.wpcentral.com/att-reportedly-spending-150-million-promote-nokia-lumia-900">massive marketing campaign</a>.</p>
<p>Some of the best phones I&#8217;ve ever owned have been made by Nokia and being the Windows Phone fanboy that I am, I had to get my hands on one.  Amazingly, I was eligible for an upgrade so I wasn&#8217;t going to have to wait very long.  I moseyed over to my favorite AT&amp;T store where Jessica tried to hook me up but they were already SOLD OUT of the cyan model!  She placed an order one for me and a few days later it arrived at my door.  That was about three weeks ago.  So how is it?  How does it compare to the Focus?  Does it live up to the hype?</p>
<p><span id="more-1960"></span></p>
<p>When the Lumia arrived I activated it immediately and have been using it exclusively ever since.  Despite having the same operating system (plus a few updates that have been available for months but AT&amp;T hasn&#8217;t pushed out for who knows what reason) it really is a different experience.</p>
<p><em>I&#8217;m not going to give a rundown of all of the features of the OS or the device here since those have been covered extensively elsewhere but I will point out a few highlights.</em></p>
<h2>Hardware</h2>
<p>The first thing I noticed is that the Lumia 900 is a much heavier device weighing in at 5.64 oz (as opposed to 4.07 oz for the Focus) but to me the added weight is welcome in that it makes the 900 feel like a sturdier device.  The display is also noticeably larger and I&#8217;ve found the battery life better, particularly after the post-release update from Nokia.</p>
<p>Of course, one of the &#8220;killer features&#8221; of the Lumia 900 is that it&#8217;s one of the new 4G LTE devices.  First off, if you&#8217;re in an area that has LTE coverage and you&#8217;re not on an LTE capable device you&#8217;re really missing out.  Of course, your mileage may vary but in my area (Carmel/Westfield, Indiana) the network is blazing fast.  According to the <a title="BandWidth for Windows Phone" href="http://www.windowsphone.com/en-US/apps/bd5202c2-c401-e011-9264-00237de2db9e?wa=wsignin1.0">BandWidth app</a> <em>(sorry, this app was pulled from the marketplace) </em>I routinely see download speeds in excess of 15 Mbps and 3.5 Mbps upload.  I haven&#8217;t traveled much with this phone yet but it&#8217;ll be interesting to see if these numbers hold up over time.</p>
<p>One of the things that always annoyed me about the Focus was that the camera was pretty mediocre.  I&#8217;m not going to go so far as to say that the 8 megapixel camera on the Lumia 900 is spectacular but it&#8217;s certainly an improvement.  One thing that really impressed me about the camera on the 900 is how well it does with macro photography.  There&#8217;s definitely a sweet spot for the focus but by and large, the level of detail it picks up is pretty impressive.  Take a look at these sample images from the 900 for some examples.  <em>(And yes, digital zoom sucks, but we don&#8217;t really need to go there, do we?)</em></p>
<table width="100%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td>
<p style="text-align:center;"><a href="http://davefancher.files.wordpress.com/2012/05/water-drop-macro.jpg"><img class="size-thumbnail wp-image-1969 aligncenter" title="Water Drops" src="http://davefancher.files.wordpress.com/2012/05/water-drop-macro.jpg?w=150&h=112" alt="Water Drops" width="150" height="112" /></a></p>
</td>
<td>
<p style="text-align:center;"><a href="http://davefancher.files.wordpress.com/2012/05/flower-stamen-macro.jpg"><img class="size-thumbnail wp-image-1968 aligncenter" title="Flower Stamen" src="http://davefancher.files.wordpress.com/2012/05/flower-stamen-macro.jpg?w=112&h=150" alt="Flower Stamen" width="112" height="150" /></a></p>
</td>
<td>
<p style="text-align:center;"><a href="http://davefancher.files.wordpress.com/2012/05/dogwood.jpg"><img class="size-thumbnail wp-image-1967 aligncenter" title="Dogwood" src="http://davefancher.files.wordpress.com/2012/05/dogwood.jpg?w=150&h=112" alt="Dogwood" width="150" height="112" /></a></p>
</td>
</tr>
</tbody>
</table>
<p>The Lumia 900 also has a 1 megapixel front facing camera that I haven&#8217;t used much but it seems adequate for its purpose.  I&#8217;m sure I&#8217;ll be using it with the recently released <a title="Skype for Windows Phone" href="http://www.windowsphone.com/en-US/apps/c3f8e570-68b3-4d6a-bdbb-c0a3f4360a51">Skype client</a> pretty soon though.</p>
<p>I only really have two annoyances with the hardware.  First, the placement of the camera button is a little awkward for me.  I find myself bumping it regularly.  Luckily I generally only hit it hard enough for a half press so the phone doesn&#8217;t always jump to the camera but it&#8217;s still a bit annoying.  In fairness, I think is due more to the bumper I have on the phone rather than an issue with the hardware itself.</p>
<p>I also find that the silver strip around and below the camera lens scratches pretty easily.  If this is the type of thing that bothers you you&#8217;ll definitely want to pick up an <a title="Invisible Shield for Nokia Lumia 900" href="http://www.zagg.com/invisibleshield/nokia-lumia-900-cases-screen-protectors-covers-skins-shields.php">Invisible Shield</a> or a case.</p>
<h2>Software</h2>
<p>There&#8217;s not really much to say about the software on the Lumia 900 that hasn&#8217;t already been said but there are a few items of note.</p>
<p>After installing the update that shipped just after I received my device the current OS version is 7.10.8112.7.  This is significant because not only is it running the Mango release, it also includes the fix for the disappearing keyboard problem that irritated me to no end on the Focus (despite a fix being available).  AT&amp;T has also been kind enough to finally enable Visual Voicemail for the Lumia.  I really feel that the carriers not pushing updates and not enabling Visual Voicemail for the Windows Phone devices have been some of the things that have been holding back the platform.  Now that there&#8217;s a flagship phone running the Windows Phone OS hopefully that lack of support will change.</p>
<p>Like the other manufacturers, Nokia has made some additional software available through the Marketplace.  These offerings are pretty solid and include things like Nokia Drive, Creative Studio, Nokia Maps, and Tango Video Calls (not to be confused with the Windows Phone update code-named Tango).  Each of these have been highlighted elsewhere but one app that hasn&#8217;t gotten much press is the Sesame Street 100th Day of School app.  I normally wouldn&#8217;t write about such an app but the fact that after I showed it to my 2 year old she now demands it most mornings when we get up in the morning made it worth mentioning.</p>
<p>Something that made me a little nervous about switching to the Lumia was a few posts/reviews I&#8217;d read that complained about the responsiveness of the start screen.  A few people said that the start screen seemed to lag when scrolling.  I noticed immediately that the start screen &#8220;felt&#8221; different than what I was used to but it certainly doesn&#8217;t lag.  I guess the best way to describe it is that the start screen feels &#8220;heavier&#8221; than that of the Focus.  This is purely speculation on my part but after a side-by-side comparison with the Focus it seems that the Lumia is perceived as slower due to the larger screen and tiles.  The experience is still very fluid.</p>
<p>The camera app options are comparable to those of the Focus.  I like the inclusion of scene recognition but I already miss the option for vibration reduction.  Excluding vibration reduction seems like a big miss on Nokia&#8217;s part but I still prefer the images off of this device.</p>
<p>Although my data plan doesn&#8217;t include it, something that will be huge for many people is that the Lumia supports tethering.  I don&#8217;t work in places where I don&#8217;t have wireless access often enough to justify the added cost but knowing I could actually benefit from the service now should that situation change is comforting.</p>
<h2>The Bottom Line</h2>
<p>I&#8217;ve been using my Lumia for a few weeks and am even happier with it than I was with the Samsung Focus.  This is a solid device and given the scale at which Microsoft, Nokia, and AT&amp;T are promoting this device I&#8217;m hopeful that Windows Phone will finally start seeing wider adoption and getting the respect it deserves as a platform.  The biggest unanswered question though is whether AT&amp;T will hold up their end of the deal and actually offer adequate support for it rather than passing over multiple updates and not activating features like visual voicemail that are supported by the platform.  So far the support looks promising but only time will tell.</p>
<br /> Tagged: <a href='http://davefancher.com/tag/nokia/'>Nokia</a>, <a href='http://davefancher.com/tag/nokia-lumia/'>Nokia Lumia</a>, <a href='http://davefancher.com/tag/windows-phone/'>Windows Phone</a>, <a href='http://davefancher.com/tag/wp7/'>WP7</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1960/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1960/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1960/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1960&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/05/04/my-lumia-has-landed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>

		<media:content url="http://davefancher.files.wordpress.com/2012/04/700-nokia-lumia-900_duo.jpg?w=300" medium="image">
			<media:title type="html">Nokia Lumia 900</media:title>
		</media:content>

		<media:content url="http://davefancher.files.wordpress.com/2012/05/water-drop-macro.jpg?w=150" medium="image">
			<media:title type="html">Water Drops</media:title>
		</media:content>

		<media:content url="http://davefancher.files.wordpress.com/2012/05/flower-stamen-macro.jpg?w=112" medium="image">
			<media:title type="html">Flower Stamen</media:title>
		</media:content>

		<media:content url="http://davefancher.files.wordpress.com/2012/05/dogwood.jpg?w=150" medium="image">
			<media:title type="html">Dogwood</media:title>
		</media:content>
	</item>
		<item>
		<title>Kalamazoo X in a Nutshell</title>
		<link>http://davefancher.com/2012/04/24/kalamazoo-x-in-a-nutshell/</link>
		<comments>http://davefancher.com/2012/04/24/kalamazoo-x-in-a-nutshell/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 11:00:11 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[KalamazooX]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Kalamazoo X]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1953</guid>
		<description><![CDATA[This past weekend I was fortunate enough to attend my 3rd consecutive Kalamazoo X conference.  This event has gotten better every year thanks to the efforts of Mike, Mike, Matt, and Mark.  I&#8217;ve written about the conference recently so I won&#8217;t go into detail about what Kalamazoo X is.  Instead I&#8217;ll let a quote from &#8230; <a href="http://davefancher.com/2012/04/24/kalamazoo-x-in-a-nutshell/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1953&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This past weekend I was fortunate enough to attend my 3rd consecutive Kalamazoo X conference.  This event has gotten better every year thanks to the efforts of <a title="About Kalamazoo X" href="http://kalamazoox.org/about-kalamazoo-x/">Mike, Mike, Matt, and Mark</a>.  I&#8217;ve written about the conference recently so I won&#8217;t go into detail about what Kalamazoo X is.  Instead I&#8217;ll let a quote from the home page do the work for me:</p>
<blockquote><p>The X Conference is the other half of your career; the half that makes you stand out.</p></blockquote>
<p>Kalamazoo X has a rich history full of great speakers with interesting topics and this year was definitely no exception.  As with years past I took quite a few notes, the highlights of which I&#8217;d like to capture here and share for you to ponder.  As you read through them I think you&#8217;ll find some of the recurring themes begin to fall out naturally.</p>
<p><span id="more-1953"></span></p>
<p><strong>How to Learn</strong><br />
<a title="Jeff Blankenburg" href="https://twitter.com/#!/jeffblankenburg">Jeff Blankenburg</a></p>
<blockquote>
<div>If you spend 30 years not learning you forget how to learn.  You need to relearn learning.</div>
</blockquote>
<ul>
<li>Don&#8217;t stop learning</li>
<li>Commit to learning something new every year</li>
<li>Lack of time is not an excuse for not learning &#8211; you have plenty of time but don&#8217;t prioritize it</li>
<li>Reading != knowing</li>
<li>Need to practice</li>
<li>Learning comes from mistakes</li>
<li>Pick a simple project and build it in each language/platform you want to learn</li>
<li>Spend one evening every week learning something new</li>
</ul>
<p><strong>People: The Missing Ingredient</strong><br />
<a title="Joe O'Brien" href="https://twitter.com/#!/objo">Joe O&#8217;Brien</a></p>
<blockquote><p>The voices in your head: they don&#8217;t go away.</p></blockquote>
<ul>
<li>Never seen a project fail for technical reasons</li>
<li>Never seen a project succeed for technical reasons</li>
<li>Make 2012 the &#8220;Year of the Programmer&#8221;
<ul>
<li>Learn a new language</li>
<li>Learn about psychology</li>
<li>Learn how to deal with the person next to you</li>
</ul>
</li>
<li>Start a &#8220;conversation Rolodex&#8221; &#8211; a variety of &#8220;go to&#8221; topics that you can discuss with virtually anyone</li>
<li>3 Realities:
<ul>
<li>What you saw</li>
<li>What the other person saw</li>
<li>What really happened</li>
</ul>
</li>
<li>Reveal bad news quickly</li>
<li>Listen for what is really being said</li>
<li>Don&#8217;t assume new relationships won&#8217;t work</li>
<li>Stay positive</li>
</ul>
<p><strong>The people you like the least&#8230;</strong><br />
<strong>&#8230;are the people you need the most&#8230;</strong><br />
<em>(except for Charles Manson&#8230;definitely don&#8217;t need him!</em>)<br />
<a title="Laura Bergells" href="https://twitter.com/#!/maniactive">Laura Bergells</a></p>
<blockquote><p>Once you fully accept that you really don&#8217;t like me&#8230; you actually start to like me!</p></blockquote>
<ul>
<li>Managing people isn&#8217;t about telling people what to do</li>
<li>Teams need different personality types to maximize creativity
<ul>
<li><a title="Personality Poker" href="http://www.amazon.com/Personality-Poker-High-Performance-Teamworkand-Innovation/dp/159184360X">Personality Poker</a></li>
</ul>
</li>
<li>Hire weirdos early and often</li>
</ul>
<p><strong>Intuition:  Your Own Superpower</strong><br />
<a title="Suzan Bond" href="https://twitter.com/#!/suzanbond">Suzan Bond</a></p>
<blockquote><p>It takes guts to say &#8220;It&#8217;s not the right decision for me&#8221;</p></blockquote>
<ul>
<li><span style="line-height:13px;">Trust yourself</span></li>
<li><span style="line-height:13px;">Use intuition as a starting point</span></li>
</ul>
<p><strong>Going Gonzo</strong><br />
<a title="Leon Gersing" href="https://twitter.com/#!/rubybuddha">Leon Gersing</a></p>
<blockquote><p>Do not ask for permission.  You&#8217;re alive.  You&#8217;re drawing breath.  You have it.</p></blockquote>
<ul>
<li>Most people saying they&#8217;re doing Agile today are doing waterfall with Agile terms.  Agile is dead.</li>
<li>Innovation doesn&#8217;t come from the dominant culture &#8211; explore</li>
<li>We get so caught up being right that we forget to be wise</li>
<li>You are a graceful swan no matter what anyone else tells you</li>
<li>Time is an illusion &#8211; a relative concept</li>
<li>Use your tools to shape your reality and tell who you are</li>
</ul>
<p><strong>Your Career is Yours</strong><br />
<a title="Tim Wingfield" href="https://twitter.com/#!/timwingfield">Tim Wingfield</a></p>
<blockquote><p>Coding katas are to programmers what scales are to musicians.</p></blockquote>
<ul>
<li>Your career is in you</li>
<li>You need to understand yourself to move forward</li>
<li>Learning is implicit in our industry</li>
<li>Most of the problems we solve are not technical</li>
<li>We need to practice</li>
<li>Be honest</li>
<li>Enjoy your career, don&#8217;t endure it</li>
<li>Read <a title="The Element: How Finding Your Passion Changes Everything" href="http://amzn.to/JvqXmP">The Element</a> by Ken Robinson (via Alan Stevens)</li>
</ul>
<p><strong>The Mythical Team-Month</strong><br />
<a title="Justin Searls" href="https://twitter.com/#!/searls">Justin Searls</a></p>
<blockquote><p>Minimizing failure is a poor optimization</p></blockquote>
<ul>
<li><span style="line-height:13px;">Small teams go faster</span></li>
<li><span style="line-height:13px;">Faster is taking less time to answer a question</span></li>
<li><span style="line-height:13px;">Plenty of ideas ought to fail so they might as well fail quickly</span></li>
<li><span style="line-height:13px;">Incentivizing everything to fail faster increases the chances of finding success</span></li>
<li><span style="line-height:13px;">If you require a team to build something small you probably have bigger problems</span></li>
<li><span style="line-height:13px;">Look for developers that can succeed independently</span></li>
<li><span style="line-height:13px;">Communication isn&#8217;t free</span>
<ul>
<li><span style="line-height:13px;">A team of 25 people must maintain 300 relationships</span></li>
</ul>
</li>
</ul>
<p><strong>Developers Can&#8217;t Design</strong><br />
<strong>&#8230;and other completely untrue design myths</strong><br />
<a title="Jen Myers" href="https://twitter.com/#!/antiheroine">Jen Myers</a></p>
<blockquote><p>Design and development are part of the same process</p></blockquote>
<ul>
<li><span style="line-height:13px;">Design is communication</span></li>
<li><span style="line-height:13px;">Design Myth #1: Design is decoration</span></li>
<li><span style="line-height:13px;">Design Myth #2: Design is subjective</span></li>
<li><span style="line-height:13px;">Design Myth #3: Design is separate from development</span></li>
</ul>
<p><strong>Dealing with Difficult People<br />
</strong><a title="Elizabeth Naramore" href="https://twitter.com/#!/elizabethn">Elizabeth Naramore</a></p>
<blockquote><p>We have a whole lot of shit and you&#8217;re right in the middle of it</p></blockquote>
<ul>
<li><span style="line-height:13px;">Four motivations:</span>
<ul>
<li><span style="line-height:13px;">Get it done</span></li>
<li><span style="line-height:13px;">Get it right</span></li>
<li><span style="line-height:13px;">Get along</span></li>
<li><span style="line-height:13px;">Get recognition</span></li>
</ul>
</li>
<li><span style="line-height:13px;">We need all four on a team and individually have all four</span></li>
<li><span style="line-height:13px;">Problems arise when people are habitually operating at extremes</span></li>
<li><span style="line-height:13px;">Listen to people &#8211; they want to be heard and understood</span></li>
<li><span style="line-height:13px;">People problems are usually situation problems</span></li>
</ul>
<p><strong>Making a Difference<br />
</strong><a title="Alan Stevens" href="https://twitter.com/#!/alanstevens">Alan Stevens</a></p>
<blockquote><p>To transform the world, we must first transform ourselves</p></blockquote>
<ul>
<li><span style="line-height:13px;">If you want to change your reality you have to take control and do it yourself</span></li>
<li><span style="line-height:13px;">Your experience is your reality</span></li>
<li><span style="line-height:13px;">All experience is subjective and the result of biochemical processes</span></li>
<li><span style="line-height:13px;">Serotonin and dopamine are the only two things your brain enjoys</span></li>
<li><span style="line-height:13px;">You will die &#8211; death is what makes life worth living</span></li>
<li><span style="line-height:13px;">Death != failure</span></li>
<li><span style="line-height:13px;">Equilibrium and stability are illusions &#8211; nature is changing all the time</span></li>
<li><span style="line-height:13px;">Envisioning a rocky road to success forces us to act</span></li>
<li><span style="line-height:13px;">Accept yourself</span></li>
<li><span style="line-height:13px;">Don&#8217;t set goals &#8211; they make you a failure until you reach them.  Have a story and live it instead.</span></li>
</ul>
<div><span style="line-height:13px;">I can&#8217;t stress enough how much I enjoy this conference every year.  Next year&#8217;s event is already <a title="Ideas for 2013" href="https://twitter.com/#!/mjeaton/status/194616816004382720">being planned</a> so stay tuned and keep your calendar clear. </span></div>
<br /> Tagged: <a href='http://davefancher.com/tag/community/'>Community</a>, <a href='http://davefancher.com/tag/conference/'>Conference</a>, <a href='http://davefancher.com/tag/kalamazoo-x/'>Kalamazoo X</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1953/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1953&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/04/24/kalamazoo-x-in-a-nutshell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>String Distances</title>
		<link>http://davefancher.com/2012/04/22/string-distances-9/</link>
		<comments>http://davefancher.com/2012/04/22/string-distances-9/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 19:01:06 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Damerau-Levenshtein Distance]]></category>
		<category><![CDATA[Hamming Distance]]></category>
		<category><![CDATA[Levenshtein Distance]]></category>
		<category><![CDATA[String Comparison]]></category>
		<category><![CDATA[String Distance]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1930</guid>
		<description><![CDATA[One of my first projects at Leaf has been trying to match some data read from an OCR solution against what is in the database.  As sophisticated as OCR algorithms have become though it&#8217;s still not reliable enough to guarantee 100% accurate results every time due to the number of variations in type faces, artifacts &#8230; <a href="http://davefancher.com/2012/04/22/string-distances-9/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1930&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of my first projects at Leaf has been trying to match some data read from an OCR solution against what is in the database.  As sophisticated as OCR algorithms have become though it&#8217;s still not reliable enough to guarantee 100% accurate results every time due to the number of variations in type faces, artifacts introduced through scanning or faxing the document, or any number of other factors.</p>
<p>Most of the documents I&#8217;ve been working with have been pretty clean and I&#8217;ve been able to get an exact match automatically.  One of my samples though, has some security features that intentionally obfuscate some of the information I care about.  This naturally makes getting an exact match difficult.  Amazingly though, the OCR result was about 80% accurate so there was still some hope.</p>
<p>One of my coworkers suggested that I look at some of the string distance algorithms to see if any of them could help us get closer to an exact match.  He pointed me at the Levenshtein algorithm so I took a look at that along with the Hamming and Damerau-Levenshtein algorithms.</p>
<p>For the uninitiated (like myself a week ago), these algorithms provide a way to determine the distance between two strings.  The distance is essentially a measurement of string similarity. In other words, they calculate how many steps are required to transform one string into another.</p>
<p>I want to look briefly at each of these and show some examples. Note that each of these algorithms are case sensitive but modifying them to ignore case is trivial.</p>
<p><span id="more-1930"></span></p>
<h2>Hamming Distance</h2>
<p>Named for the American mathematician <a title="Richard Hamming" href="http://en.wikipedia.org/wiki/Richard_Hamming">Richard Hamming</a>, the <a title="Hamming Distance" href="http://en.wikipedia.org/wiki/Hamming_distance">Hamming distance</a> is identifies how many characters differ in equal length strings.  Implementing this algorithm is pretty easy, especially with LINQ.</p>
<p><pre class="brush: csharp;">
public static partial class StringDistance
{
	public static int GetHammingDistance(string source, string target)
	{
		if(source.Length != target.Length)
		{
			throw new Exception(&quot;Strings must be equal length&quot;);
		}

		int distance =
			source.ToCharArray()
			.Zip(target.ToCharArray(), (c1, c2) =&gt; new { c1, c2 })
			.Count(m =&gt; m.c1 != m.c2);

		return distance;
	}
}
</pre></p>
<p>To compute the Hamming distance we just project the character arrays from each string into a new collection (using Zip) and count the characters that don&#8217;t match.</p>
<p><pre class="brush: csharp;">
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;abcde&quot;).Dump(); // 0
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;abcdz&quot;).Dump(); // 1
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;abcyz&quot;).Dump(); // 2
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;abxyx&quot;).Dump(); // 3
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;awxyz&quot;).Dump(); // 4
StringDistance.GetHammingDistance(&quot;abcde&quot;, &quot;vwxyz&quot;).Dump(); // 5
</pre></p>
<p>As you can see, when the strings are identical the Hamming distance is zero and when they&#8217;re completely different they&#8217;re equal to the length of the strings.</p>
<p>There was some potential for using the Hamming distance in my project since each of the values I&#8217;m checking are supposed to be the same length but the OCR library threw a wrench in that plan by not recognizing some characters or mistaking smudges for additional characters. Since I couldn&#8217;t rely on equal length strings I moved on to the Levenshtein distance.</p>
<h2>Levenshtein Distance</h2>
<p>The <a title="Levenshtein Distance" href="http://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a> is named for the Russian scientist, <a title="Vladimir Levenshtein" href="http://en.wikipedia.org/wiki/Vladimir_Levenshtein">Vladimir Levenshtein</a>.  Calculating the Levenshtein distance is a bit more involved than the Hamming distance but since it applies to variable length strings it is applicable in more situations.  The Levenshtein distance takes into account not only character alterations but also insertions and deletions.</p>
<p><pre class="brush: csharp;">
public static partial class StringDistance
{
	public static int GetLevenshteinDistance(string source, string target)
	{
		var bounds = new { Height = source.Length + 1, Width = target.Length + 1 };

		int[,] matrix = new int[bounds.Height, bounds.Width];

		for(int height = 0; height &lt; bounds.Height; height++) { matrix[height, 0] = height; };
		for(int width = 0; width &lt; bounds.Width; width++) { matrix[0, width] = width; };

		for(int height = 1; height &lt; bounds.Height; height++)
		{
			for(int width = 1; width &lt; bounds.Width; width++)
			{
				int cost = (source[height - 1] == target[width - 1]) ? 0 : 1;
				int insertion = matrix[height, width - 1] + 1;
				int deletion = matrix[height - 1, width] + 1;
				int substitution = matrix[height - 1, width - 1] + cost;

				int distance = Math.Min(insertion, Math.Min(deletion, substitution));

				matrix[height, width] = distance;
			}
		}

		return matrix[bounds.Height - 1, bounds.Width - 1];
	}
}
</pre></p>
<p>In order to calculate the distance, this algorithm uses a matrix to track the differences as it works over the two strings. Insertions are detected by looking at the slot to the left of the current position whereas deletions are detected by looking at the slot above the current position. Substitution detection requires examining the slot above and to the left of the current position. The final distance is the number stored in the bottom right slot.</p>
<p><pre class="brush: csharp;">
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;abcde&quot;).Dump(); // 0
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;abcdz&quot;).Dump(); // 1
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;abcyz&quot;).Dump(); // 2
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;abxyx&quot;).Dump(); // 3
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;awxyz&quot;).Dump(); // 4
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;vwxyz&quot;).Dump(); // 5
</pre></p>
<p>The above examples illustrate how the Levenshtein distance and the Hamming distance are identical for equal length strings but how does it work for strings of differing lengths?</p>
<p><pre class="brush: csharp;">
StringDistance.GetLevenshteinDistance(&quot;abcdefg&quot;, &quot;abcde&quot;).Dump(); // 2
StringDistance.GetLevenshteinDistance(&quot;abcdefg&quot;, &quot;zxyde&quot;).Dump(); // 5
</pre></p>
<p>The Levenshtein distance is a good fit for my project but consider these examples:</p>
<p><pre class="brush: csharp;">
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;bacde&quot;).Dump(); // 2
StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, &quot;baced&quot;).Dump(); // 4
</pre></p>
<p>The major limitation of the Levenshtein distance is that it doesn&#8217;t take character transpositions into account. Does it really take two operations to transform &#8220;abcde&#8221; into &#8220;bacde&#8221; or just one? <a title="Frederick J. Damerau" href="http://en.wikipedia.org/wiki/Frederick_J._Damerau">Frederick Damerau</a> asked this same question and gave us the Damerau-Levenshtein distance.</p>
<h2>Damerau-Levenshtein Distance</h2>
<p>Frederick Damerau adapted Levenshtein&#8217;s process to account properly for transpositions of adjacent characters. There are two ways to calculate the <a title="Damerau-Levenshtein Distance" href="http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance">Damerau-Levenshtein distance</a> but the one we&#8217;ll look at here is known as optimal string alignment.</p>
<p>The optimal string alignment algorithm is really just an extension of the Levenshtein distance algorithm.</p>
<p><pre class="brush: csharp;">
public static partial class StringDistance
{
	public static int GetDamerauLevenshteinDistance(string source, string target)
	{
		var bounds = new { Height = source.Length + 1, Width = target.Length + 1 };

		int[,] matrix = new int[bounds.Height, bounds.Width];

		for(int height = 0; height &lt; bounds.Height; height++) { matrix[height, 0] = height; };
		for(int width = 0; width &lt; bounds.Width; width++) { matrix[0, width] = width; };

		for(int height = 1; height &lt; bounds.Height; height++)
		{
			for(int width = 1; width &lt; bounds.Width; width++)
			{
				int cost = (source[height - 1] == target[width - 1]) ? 0 : 1;
				int insertion = matrix[height, width - 1] + 1;
				int deletion = matrix[height - 1, width] + 1;
				int substitution = matrix[height - 1, width - 1] + cost;

				int distance = Math.Min(insertion, Math.Min(deletion, substitution));

				if (height &gt; 1 &amp;&amp; width &gt; 1 &amp;&amp; source[height - 1] == target[width - 2] &amp;&amp; source[height - 2] == target[width - 1]) {
					distance = Math.Min(distance, matrix[height - 2, width - 2] + cost);
				}

				matrix[height, width] = distance;
			}
		}

		return matrix[bounds.Height - 1, bounds.Width - 1];
	}
}
</pre></p>
<p>In this variation we do an additional check to handle transpositions.</p>
<p><pre class="brush: csharp;">
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;abcde&quot;).Dump(); // 0
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;abcdz&quot;).Dump(); // 1
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;abcyz&quot;).Dump(); // 2
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;abxyx&quot;).Dump(); // 3
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;awxyz&quot;).Dump(); // 4
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;vwxyz&quot;).Dump(); // 5
// Transpositions
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;bacde&quot;).Dump(); // 1
StringDistance.GetDamerauLevenshteinDistance(&quot;abcde&quot;, &quot;baced&quot;).Dump(); // 2
</pre></p>
<p>All of the results are the same except for the transpositions which show one and two operations respectively.</p>
<h2>Parallelization Considerations</h2>
<p>You may have noticed that these algorithms (particularly the Levenshtein variations) don&#8217;t lend themselves well to parallelization due to their dependency on previous steps.  I did decide though that although the algorithms aren&#8217;t really parallelizable, matching against a known set certainly is.  Furthermore, parallelizing the matching is trivial with PLINQ.</p>
<p><pre class="brush: csharp;">
var distances =
	GetStringsToMatch()
	.AsParallel()
	.Select (
		x =&gt; new
		{
			Value = x,
			Distance = StringDistance.GetLevenshteinDistance(&quot;abcde&quot;, x)
		}
	);
</pre></p>
<h2>Wrapping Up</h2>
<p>We&#8217;ve looked at algorithms for calculating the Hamming distance, Levenshtein distance, and Damerau-Levenshtein distance.  In my project I&#8217;m leaning toward using the traditional Levenshtein distance since I shouldn&#8217;t have to consider transpositions  and the data isn&#8217;t guaranteed to be the same length.  I also decided to make each of these algorithms available through extension methods on the string class to make them more accessible to other developers.</p>
<p>To those more knowledgeable about these things, are there other variations or techniques I should consider instead?</p>
<br /> Tagged: <a href='http://davefancher.com/tag/c/'>C#</a>, <a href='http://davefancher.com/tag/damerau-levenshtein-distance/'>Damerau-Levenshtein Distance</a>, <a href='http://davefancher.com/tag/hamming-distance/'>Hamming Distance</a>, <a href='http://davefancher.com/tag/levenshtein-distance/'>Levenshtein Distance</a>, <a href='http://davefancher.com/tag/string-comparison/'>String Comparison</a>, <a href='http://davefancher.com/tag/string-distance/'>String Distance</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1930/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1930&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/04/22/string-distances-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>Turning Over A New Leaf</title>
		<link>http://davefancher.com/2012/03/30/turning-over-a-new-leaf-20/</link>
		<comments>http://davefancher.com/2012/03/30/turning-over-a-new-leaf-20/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 11:00:14 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Aprimo]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Leaf Software Solutions]]></category>
		<category><![CDATA[New Job]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1866</guid>
		<description><![CDATA[Today is my last day at Aprimo.  The past 6 1/2 years have been full of rewarding experiences.  During my time at Aprimo I&#8217;ve learned a lot, worked on some neat projects, and made some very close friends.  At the same time though, I&#8217;ve felt like I&#8217;ve been in a bit of a rut for some &#8230; <a href="http://davefancher.com/2012/03/30/turning-over-a-new-leaf-20/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1866&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today is my last day at <a title="Aprimo" href="http://www.aprimo.com/">Aprimo</a>.  The past 6 1/2 years have been full of rewarding experiences.  During my time at Aprimo I&#8217;ve learned a lot, worked on some neat projects, and made some very close friends.  At the same time though, I&#8217;ve felt like I&#8217;ve been in a bit of a rut for some time and needed some change.  After serious consideration I decided that the time to make the change is now.</p>
<p>Next week (April 2) I&#8217;ll be starting as a Systems Engineer at <a title="Leaf Software Solutions" href="http://www.leafsoftwaresolutions.com/">Leaf Software Solutions</a> in Carmel, Indiana.  I&#8217;m really excited about this opportunity and the new challenges and experiences it will bring.</p>
<p>I&#8217;d like to thank Aprimo for its part in shaping me into the person and programmer I am today and for preparing me for this next chapter of my life.  I wish everyone at Aprimo the best wherever life may take you.</p>
<br /> Tagged: <a href='http://davefancher.com/tag/aprimo/'>Aprimo</a>, <a href='http://davefancher.com/tag/career/'>Career</a>, <a href='http://davefancher.com/tag/leaf-software-solutions/'>Leaf Software Solutions</a>, <a href='http://davefancher.com/tag/new-job/'>New Job</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1866/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1866&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/03/30/turning-over-a-new-leaf-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>Kalamazoo X Conference 2012</title>
		<link>http://davefancher.com/2012/03/28/kalamazoo-x-conference-2012/</link>
		<comments>http://davefancher.com/2012/03/28/kalamazoo-x-conference-2012/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 15:08:07 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[KalamazooX]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Kalamazoo X]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1911</guid>
		<description><![CDATA[I don&#8217;t get to as many conferences as I&#8217;d like to during the year.  I have yet to go to Code Mash, I missed out on Code PaLOUsa, and I envy everyone tweeting from VSLive (especially since Aria is a great place), but one conference I always make sure to attend is Kalamazoo X.  I&#8217;ve &#8230; <a href="http://davefancher.com/2012/03/28/kalamazoo-x-conference-2012/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1911&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t get to as many conferences as I&#8217;d like to during the year.  I have yet to go to Code Mash, I missed out on Code PaLOUsa, and I envy everyone tweeting from VSLive (especially since Aria is a great place), but one conference I always make sure to attend is <a title="Kalamazoo X" href="http://kalamazoox.org/">Kalamazoo X</a>.  I&#8217;ve attended this conference for the past two years and didn&#8217;t hesitate when I was invited to take advantage of early bird registration for this year&#8217;s event.  It&#8217;s a four-hour drive from Indianapolis but it&#8217;s always well worth the trip.</p>
<p>I&#8217;ve mentioned this before but Kalamazoo X isn&#8217;t like other developer conferences.  Instead of focusing on the latest frameworks and toys, Kalamazoo X looks at things like communication skills, process improvement, and design.  I generally view it as a personal and career development conference for geeks.</p>
<p>The <a title="About Kalamazoo X" href="http://kalamazoox.org/about-kalamazoo-x/">organizers</a> have traditionally done a great job pulling this event together.  With <a title="Kalamazoo X Sessions and Speakers" href="http://kalamazoox.org/2012-sessions/">speakers</a> including <a href="https://twitter.com/#!/rubybuddha">Leon Gersing</a>, <a href="https://twitter.com/#!/jeffblankenburg">Jeff Blankenburg</a>, <a href="https://twitter.com/#!/timwingfield">Tim Wingfield</a>, and <a href="https://twitter.com/#!/objo">Joe O&#8217;Brien</a> this year should be no exception.</p>
<p>Kalamazoo X is on April 21 from 8:00 AM &#8211; 5:30 PM at Kalamazoo Valley Community College (check the <a title="Kalamazoo X" href="http://kalamazoox.org/">conference site</a> for full logistics).  If you&#8217;re free that day I highly recommend <a title="Kalamazoo X Conference 2012 Registration" href="http://kalamazoox12.eventbrite.com/">registering</a>.  It&#8217;ll likely cost you less than seeing a movie but the lessons will last for years to come.  You won&#8217;t be disappointed.</p>
<br /> Tagged: <a href='http://davefancher.com/tag/conference/'>Conference</a>, <a href='http://davefancher.com/tag/kalamazoo-x/'>Kalamazoo X</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1911/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1911/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1911/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1911&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/03/28/kalamazoo-x-conference-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking in Fort Wayne</title>
		<link>http://davefancher.com/2012/03/27/speaking-in-fort-wayne-2/</link>
		<comments>http://davefancher.com/2012/03/27/speaking-in-fort-wayne-2/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 03:45:39 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Microsoft Moles]]></category>
		<category><![CDATA[NUFW]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[User Groups]]></category>
		<category><![CDATA[Microsoft Fakes]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1904</guid>
		<description><![CDATA[Ok, this should be the last post about speaking engagements for a while ;)  I have something else in the works that&#8217;s going to take a lot of my attention for some time (more on that on Friday).  I&#8217;m pleased to announce that I&#8217;ll be returning to Fort Wayne in June to talk about the &#8230; <a href="http://davefancher.com/2012/03/27/speaking-in-fort-wayne-2/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1904&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Ok, this should be the last post about speaking engagements for a while ;)  I have something else in the works that&#8217;s going to take a lot of my attention for some time (more on that on Friday). </em></p>
<p>I&#8217;m pleased to announce that I&#8217;ll be returning to Fort Wayne in June to talk about the Microsoft Fakes framework (formerly the Moles framework).  In this talk I&#8217;ll introduce the Fakes framework, discuss the use cases for the different isolation techniques, and show how to take advantage of them in your unit tests.</p>
<p>The meeting will be held on Tuesday, June 12 at the Northeast Indiana Innovation Center.  Pizza and drinks will be available at 6:00 with the presentation starting at 6:30.  For more information please check the <a title=".NET Users of Fort Wayne" href="http://nufw.net/">NUFW site</a>.</p>
<br /> Tagged: <a href='http://davefancher.com/tag/community/'>Community</a>, <a href='http://davefancher.com/tag/microsoft-fakes/'>Microsoft Fakes</a>, <a href='http://davefancher.com/tag/microsoft-moles/'>Microsoft Moles</a>, <a href='http://davefancher.com/tag/nufw/'>NUFW</a>, <a href='http://davefancher.com/tag/speaking/'>Speaking</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1904/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1904/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1904/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1904&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/03/27/speaking-in-fort-wayne-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
		<item>
		<title>Theoris Innovation Series</title>
		<link>http://davefancher.com/2012/03/27/theoris-innovation-series/</link>
		<comments>http://davefancher.com/2012/03/27/theoris-innovation-series/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 02:47:40 +0000</pubDate>
		<dc:creator>Dave Fancher</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Dynamic Language Runtime]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Parallel Extensions]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Theoris]]></category>
		<category><![CDATA[Theoris Innovation Series]]></category>

		<guid isPermaLink="false">http://davefancher.com/?p=1897</guid>
		<description><![CDATA[On April 20, 2012 from 1:00 &#8211; 4:00 PM Theoris IT Services is hosting the next installment of its Theoris Innovation Series.  For this event Alex Gheith and I will be discussing many of the modern features of C# including: LINQ Dynamic Programming Parallel Programming (including the upcoming async and await keywords) This is a free &#8230; <a href="http://davefancher.com/2012/03/27/theoris-innovation-series/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1897&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On April 20, 2012 from 1:00 &#8211; 4:00 PM <a title="Theoris" href="http://www.theoris.com/">Theoris IT Services</a> is hosting the next installment of its <a title="Theoris Innovation Series" href="http://theorisinnovationseries.com">Theoris Innovation Series</a>.  For this event Alex Gheith and I will be discussing many of the modern features of C# including:</p>
<ul>
<li>LINQ</li>
<li>Dynamic Programming</li>
<li>Parallel Programming (including the upcoming async and await keywords)</li>
</ul>
<p>This is a free event but please note that space is limited to the first 40 respondents.  For more information, please check the <a title="Theoris Innovation Series" href="http://theorisinnovationseries.com">event site</a>.</p>
<br /> Tagged: <a href='http://davefancher.com/tag/net/'>.NET</a>, <a href='http://davefancher.com/tag/c/'>C#</a>, <a href='http://davefancher.com/tag/community/'>Community</a>, <a href='http://davefancher.com/tag/speaking/'>Speaking</a>, <a href='http://davefancher.com/tag/theoris/'>Theoris</a>, <a href='http://davefancher.com/tag/theoris-innovation-series/'>Theoris Innovation Series</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davefancher.wordpress.com/1897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davefancher.wordpress.com/1897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davefancher.wordpress.com/1897/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davefancher.com&#038;blog=12467521&#038;post=1897&#038;subd=davefancher&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davefancher.com/2012/03/27/theoris-innovation-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad02f59c6c342c3788b9439c53bbf242?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">davefancher</media:title>
		</media:content>
	</item>
	</channel>
</rss>
