<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>igorbrejc.net</title>
	<atom:link href="http://igorbrejc.net/feed" rel="self" type="application/rss+xml" />
	<link>http://igorbrejc.net</link>
	<description>Just another developer's weblog</description>
	<lastBuildDate>Sat, 13 Mar 2010 22:22:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Maperitive: Bitmap Scaling</title>
		<link>http://igorbrejc.net/openstreetmap/maperitive-bitmap-scaling</link>
		<comments>http://igorbrejc.net/openstreetmap/maperitive-bitmap-scaling#comments</comments>
		<pubDate>Sat, 13 Mar 2010 22:22:59 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Kosmos]]></category>
		<category><![CDATA[Maperitive]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/openstreetmap/maperitive-bitmap-scaling</guid>
		<description><![CDATA[I received this request a long time ago and it was finally time to implement it:





So what’s so special with this map? Maperitive offers the export-bitmap command, which basically exports the currently visible map portion to a bitmap file. What’s new is that you can set a higher (&#62; 1) scale for the export:

export-bitmap scale=3

which [...]]]></description>
			<content:encoded><![CDATA[<p>I received this request a long time ago and it was finally time to implement it:</p>

<p><a title="Maperitive scaling" href="http://www.flickr.com/photos/28786233@N03/4429681255/"><img border="0" alt="Maperitive scaling" src="http://farm5.static.flickr.com/4060/4429681255_a806f04680.jpg" /></a></p>

<p></p>

<p>So what’s so special with this map? Maperitive offers the <strong>export-bitmap </strong>command, which basically exports the currently visible map portion to a bitmap file. What’s new is that you can set a higher (&gt; 1) scale for the export:</p>

<p><strong>export-bitmap scale=3</strong></p>

<p>which will produce a bitmap with higher resolution, but with the rendering rules applied to the original zoom level. This can be useful for printing maps in higher quality.</p>

<p>In future I plan to introduce a <a href="http://igorbrejc.net/openstreetmap/kosmos-preview-of-svg-support">SVG export command</a>, which will make map post-processing even easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/openstreetmap/maperitive-bitmap-scaling/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://farm5.static.flickr.com/4060/4429681255_a806f04680.jpg" />
		<media:content url="http://farm5.static.flickr.com/4060/4429681255_a806f04680.jpg" medium="image">
			<media:title type="html">Maperitive scaling</media:title>
		</media:content>
	</item>
		<item>
		<title>Maperitive Gets Its Own Site</title>
		<link>http://igorbrejc.net/openstreetmap/maperitive-gets-its-own-site</link>
		<comments>http://igorbrejc.net/openstreetmap/maperitive-gets-its-own-site#comments</comments>
		<pubDate>Sat, 13 Mar 2010 09:54:55 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Kosmos]]></category>
		<category><![CDATA[Maperitive]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/openstreetmap/maperitive-gets-its-own-site</guid>
		<description><![CDATA[I’ve put together a simple home page for Maperitive: http://maperitive.net/. It will be improved, once I send it to a proper web designer.

I’ve also created a dedicated Google Group for Maperitive to make discussion and help seeking easier. You are welcome to join in.

The next thing is to start to write some documentation, since I [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve put together a simple home page for Maperitive: <a href="http://maperitive.net/">http://maperitive.net/</a>. It will be improved, once I send it to a <a href="http://studiotandem.si/en/work/">proper web designer</a>.</p>

<p>I’ve also created a dedicated <a href="http://groups.google.com/group/maperitive">Google Group for Maperitive</a> to make discussion and help seeking easier. You are welcome to join in.</p>

<p>The next thing is to start to write some documentation, since I know this is the main problem right now.</p>

<p>And expect Maperitive updates (in fact I’ve already released one this morning).</p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/openstreetmap/maperitive-gets-its-own-site/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>Maperitive: First Release</title>
		<link>http://igorbrejc.net/uncategorized/maperitive-first-release</link>
		<comments>http://igorbrejc.net/uncategorized/maperitive-first-release#comments</comments>
		<pubDate>Fri, 12 Mar 2010 16:46:20 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Kosmos]]></category>
		<category><![CDATA[Maperitive]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1062</guid>
		<description><![CDATA[This morning I&#8217;ve made a an announcement on Twitter about Maperitive finally being released. You can download it from here.

I&#8217;d like to stress that work on Maperitive is far from finished. This release is just the first one I felt confident enough to send to the public, both in terms of stability and in terms [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I&#8217;ve made a an announcement on Twitter about Maperitive finally being released. You can download it from <a href="http://maperitive.net/download/">here</a>.</p>

<p>I&#8217;d like to stress that work on Maperitive is <strong>far</strong> from finished. This release is just the first one I felt confident enough to send to the public, both in terms of stability and in terms of functionality it offers.    <br />I&#8217;ll be posting more on how to use it, but let&#8217;s first take a look on what it currently provides and what it lacks.</p>

<h3>The Good</h3>

<p>OK, first some of the stuff I think you&#8217;ll find interesting:</p>

<ul>   <li><strong>New rendering rules system</strong>: it&#8217;s more powerful, more flexible and (I think) easier to write. </li>    <li><strong>Linux, Mac</strong>: due to improvements in Mono and also due to the new code, Maperitive now seems to be working on Linux and Mac without any major problems.</li>    <li><strong>Scripting</strong>: everything Maperitive offers is available through scripting commands. This makes automating stuff much easier. </li>    <li><strong>Auto-updating</strong>: I&#8217;ve devoted a lot of effort on making Maperitive update itself automatically when a new version is available. There are some glitches on Mac, however.</li>    <li><strong>Querying</strong>: you can now use the same query “language” used in rendering rules <a href="http://igorbrejc.net/openstreetmap/kosmos-querying-data">to look for stuff on the maps</a>.</li>    <li><strong>Relief contours</strong>: they&#8217;re back! Since I started working on Maperitive, I simply didn&#8217;t have any time to fix contours generation on Kosmos. </li> </ul>

<p>And last, but <strong>the most important</strong>: Maperitive right now is <em>more of a framework than a finished product</em>. What does this mean? The main <a href="http://igorbrejc.net/openstreetmap/kosmos-whats-been-happening">reason I started rewriting Kosmos</a> code was to make it easier to add new features. This has now been achieved, to a large extent. What comes next is actually adding these features.</p>

<h3>The Bad</h3>

<p>Now the bad parts:</p>

<ul>   <li><strong>GUI</strong>: as you will see, it’s pretty vacant <img src='http://igorbrejc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . A few months ago I decided not to spend too much effort on making Maperitive look like Kosmos. That would have taken me at least a couple of months of more work before I could actually release anything. But that doesn’t mean the user interface will not improve in the near future!</li>    <li><strong>Features</strong>: Maperitive does not offer everything Kosmos did. Again, the number one task for me right now is to add all Kosmos stuff to Maperitive.</li> </ul>

<h3>The Ugly</h3>

<p>Yes, it’s GUI again <img src='http://igorbrejc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Linux and Mac users will have to suffer a pretty ugly interface. I guess this is the price of cheap portability: Maperitive currently runs on different platforms with virtually the same code base (again, thanks to Mono guys). If you notice any big issues, please write (you can use <strong>send-feedback </strong>command in Maperitive to write to me directly).</p>

<p>Off to write some code.</p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/uncategorized/maperitive-first-release/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
	</item>
		<item>
		<title>Fresh Catch For March 9th</title>
		<link>http://igorbrejc.net/freshcatch/fresh-catch-for-march-9th</link>
		<comments>http://igorbrejc.net/freshcatch/fresh-catch-for-march-9th#comments</comments>
		<pubDate>Tue, 09 Mar 2010 15:00:18 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Fresh Catch]]></category>
		<category><![CDATA[bson]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1056</guid>
		<description><![CDATA[These are my new delicious links for March 9th:


BSON Serialization &#8211; Karl Seguin &#8211; CodeBetter.Com &#8211; Stuff you need to Code Better!  
NBuilder &#8211; Rapid generation of test objects for .NET  
MF Bliki: VcsSurvey  
Stop Apologizing for Being In Business. &#124; Startup Daddy Home Business Development  
Chile quake may have tipped [...]]]></description>
			<content:encoded><![CDATA[<p>These are my new delicious links for March 9th:</p>

<ul>
<li><a href="http://codebetter.com/blogs/karlseguin/archive/2010/03/05/bson-serialization.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+CodeBetter+%28CodeBetter.Com%29&amp;utm_content=Google+Reader" target="_blank">BSON Serialization &#8211; Karl Seguin &#8211; CodeBetter.Com &#8211; Stuff you need to Code Better!</a> <br /><em></em> </li>
<li><a href="http://nbuilder.org/" target="_blank">NBuilder &#8211; Rapid generation of test objects for .NET</a> <br /><em></em> </li>
<li><a href="http://martinfowler.com/bliki/VcsSurvey.html" target="_blank">MF Bliki: VcsSurvey</a> <br /><em></em> </li>
<li><a href="http://www.startupdaddy.com/stop-apologizing-for-being-in-business" target="_blank">Stop Apologizing for Being In Business. | Startup Daddy Home Business Development</a> <br /><em></em> </li>
<li><a href="http://www.cnn.com/2010/WORLD/americas/03/02/chile.quake/index.html?hpt=T2" target="_blank">Chile quake may have tipped Earth&#8217;s axis &#8211; CNN.com</a> <br /><em></em> </li>
<li><a href="http://www.knoxnews.com/news/2010/feb/28/blind-man-plans-to-hike-at-end-to-end/" target="_blank">Blind man plans to hike AT end to end &raquo; Knoxville News Sentinel</a> <br /><em></em> </li>

</ul>

<p><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/freshcatch/fresh-catch-for-march-9th/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Fresh Catch For March 6th</title>
		<link>http://igorbrejc.net/freshcatch/fresh-catch-for-march-6th</link>
		<comments>http://igorbrejc.net/freshcatch/fresh-catch-for-march-6th#comments</comments>
		<pubDate>Sat, 06 Mar 2010 19:00:12 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Fresh Catch]]></category>
		<category><![CDATA[system:filetype:png]]></category>
		<category><![CDATA[system:media:image]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1043</guid>
		<description><![CDATA[These are my new delicious links for March 6th:


An Overview of Shareware Registration Services  
Why the internet will fail (from 1995) &#171; Three Word Chant!  
Sysi: the ultimate administrators toolkit  
YouTube &#8211; Why Larry Ellison hates Cloud computing  
Miss Universe Pageant Winners  




]]></description>
			<content:encoded><![CDATA[<p>These are my new delicious links for March 6th:</p>

<ul>
<li><a href="http://www.blackcatsystems.com/regservices/" target="_blank">An Overview of Shareware Registration Services</a> <br /><em></em> </li>
<li><a href="http://threewordchant.com/2010/02/24/why-the-internet-will-fail-from-1995/" target="_blank">Why the internet will fail (from 1995) &laquo; Three Word Chant!</a> <br /><em></em> </li>
<li><a href="http://www.secretgeek.net/sysi_launch.asp" target="_blank">Sysi: the ultimate administrators toolkit</a> <br /><em></em> </li>
<li><a href="http://www.youtube.com/watch?v=8UYa6gQC14o" target="_blank">YouTube &#8211; Why Larry Ellison hates Cloud computing</a> <br /><em></em> </li>
<li><a href="http://thismight.be/offensive/uploads/2010/03/03/image/289069_Pathetic.png" target="_blank">Miss Universe Pageant Winners</a> <br /><em></em> </li>

</ul>

<p><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/freshcatch/fresh-catch-for-march-6th/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Maperitive: Wireframe Rules</title>
		<link>http://igorbrejc.net/openstreetmap/maperitive-wireframe-rules</link>
		<comments>http://igorbrejc.net/openstreetmap/maperitive-wireframe-rules#comments</comments>
		<pubDate>Fri, 05 Mar 2010 22:29:37 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Kosmos]]></category>
		<category><![CDATA[Maperitive]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/openstreetmap/maperitive-wireframe-rules</guid>
		<description><![CDATA[I’ve read recently in some forum post that you couldn’t select all ways in Kosmos and render them, even if they have no tags at all. Well, this evening I implemented support for this in Maperitive:



The white-ish lines represent OSM ways. The green color depicts OSM areas. The rules for this are quite simple:

  [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve read recently in some forum post that you couldn’t select <strong>all</strong> ways in Kosmos and render them, even if they have no tags at all. Well, this evening I implemented support for this in Maperitive:</p>

<p><a title="Maperitive wireframe" href="http://www.flickr.com/photos/28786233@N03/4409004913/"><img border="0" alt="Maperitive wireframe" src="http://farm5.static.flickr.com/4064/4409004913_9782ffd9b0.jpg" /></a></p>

<p>The white-ish lines represent OSM ways. The green color depicts OSM areas. The rules for this are quite simple:</p>

<div id="codeSnippetWrapper">   <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">features<br />    lines<br />        all lines : <br />    areas<br />        all areas : <br /><br />properties<br />    map-background-color : <span style="color: #008000">#181818</span><br /><br />rules<br />    rulefor : all areas<br />        define<br />            fill-color : green<br />            fill-opacity : 0.1<br />        draw : fill<br /><br />    rulefor : all lines<br />        define<br />            line-color : lightgray<br />            line-width : 1<br />        draw : line</pre>

  <br /></div>

<p></p>

<p>Anyway, I’m still hoping I’ll be able to fix all the “todo” stuff from my list within few weeks, but I cannot promise. It seems that for each item I remove from the list, two new items appear. I guess I’m another victim of the <a href="http://en.wikipedia.org/wiki/Ninety-ninety_rule">Ninety-ninety rule</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/openstreetmap/maperitive-wireframe-rules/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://farm5.static.flickr.com/4064/4409004913_9782ffd9b0.jpg" />
		<media:content url="http://farm5.static.flickr.com/4064/4409004913_9782ffd9b0.jpg" medium="image">
			<media:title type="html">Maperitive wireframe</media:title>
		</media:content>
	</item>
		<item>
		<title>Disposing Of The Evidence</title>
		<link>http://igorbrejc.net/development/c/disposing-of-the-evidence</link>
		<comments>http://igorbrejc.net/development/c/disposing-of-the-evidence#comments</comments>
		<pubDate>Fri, 05 Mar 2010 12:12:00 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[Windsor Castle]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1046</guid>
		<description><![CDATA[ photo credit: wok

In the previous post we discussed various relationships between singletons and transients in an inversion of control container. I introduced WindsorContainerInspector, a little utility class for analyzing the container and showed a sample unit test which looks for singletons that rely on transient objects.

Now I’ll show a few other checks that I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/67566398@N00/108876881/" title="Garbage?" target="_blank"><img src="http://farm1.static.flickr.com/48/108876881_fc305b32f7_m.jpg" alt="Garbage?" border="0" /></a><br /><small><a href="http://creativecommons.org/licenses/by-nc-nd/2.0/" title="Attribution-NonCommercial-NoDerivs License" target="_blank"><img src="http://igorbrejc.net/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/67566398@N00/108876881/" title="wok" target="_blank">wok</a></small></p>

<p>In the <a href="http://igorbrejc.net/?p=1026" target="_blank">previous post</a> we discussed various relationships between singletons and transients in an inversion of control container. I introduced <strong>WindsorContainerInspector</strong>, a little utility class for analyzing the container and showed a sample unit test which looks for singletons that rely on transient objects.</p>

<p>Now I’ll show a few other checks that I think are good to perform on the container. They involve disposability of objects.</p>

<h3>Disposable Transients</h3>

<p>Let’s say we have a transient service <strong>IWebClient</strong>:</p>

<div id="codeSnippetWrapper">   <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">public</span> <span style="color: #0000ff">interface</span> IWebClient : IDisposable<br />{<br />    <span style="color: #0000ff">void</span> DownloadMeSomething(<span style="color: #0000ff">string</span> somethingUrl);<br />}</pre>

  <br /></div>

<p>As you can see, the service implements IDisposable. Now let’s say we have a class <strong>DownloadData </strong>which depends on this service:</p>

<div id="codeSnippetWrapper">
  <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> DownloadData<br />{<br />    <span style="color: #0000ff">public</span> DownloadData (IWebClient webClient) {...}<br /><br />    ...<br />}</pre>
</div>

<p>Note the constructor dependency on IWebClient. What’s wrong with this picture?</p>

<p>What happens when the DownloadData is no longer used? The webClient is not disposed. We could hold up some valuable system resource by not disposing of such an object. And since we know IWebClient is defined as transient in our IoC container, we can be pretty sure that DownloadData is the only one using the received IWebClient instance. So we are responsible for this instance!</p>

<p>In other words, our DownloadData should also be disposable. We can say that, in general, <em>components that depend on disposable transients should also be disposable</em>:</p>

<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
  <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">[Test, MultipleAsserts]</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> TransientsThatRelyOnDisposableTransientsShouldAlsoBeDisposable ()</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    Type disposableType = <span style="color: #0000ff">typeof</span>(IDisposable);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    IList&lt;KeyValuePair&lt;ComponentModel, ComponentModel&gt;&gt; dependencies = inspector.FindDependencies (</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        (a, b) =&gt;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #0000ff">return</span> a.LifestyleType == LifestyleType.Transient &amp;&amp; <span style="color: #0000ff">false</span> == disposableType.IsAssignableFrom (a.Implementation)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                &amp;&amp; b.LifestyleType == LifestyleType.Transient &amp;&amp; disposableType.IsAssignableFrom(b.Service);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        });</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">foreach</span> (KeyValuePair&lt;ComponentModel, ComponentModel&gt; dependency <span style="color: #0000ff">in</span> dependencies)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        Assert.Fail (</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #006080">&quot;Transient component {0} relies on the disposable transient component {1}, but it itself is not disposable&quot;</span>,</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            dependency.Key.Implementation.FullName,</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            dependency.Value.Implementation.FullName);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>

<p>Some might say that this kind of check can be done by static analysis like FxCop. FxCop will detect this only if DownloadData stores the IWebClient in a class field. But we could have used IWebClient parameter just within the constructor and then forget about it:</p>

<div id="codeSnippetWrapper">
  <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> DownloadData<br />{    <br />    <span style="color: #0000ff">public</span> DownloadData (IWebClient webClient) <br />    {<br />        webClient.CheckConnection();<br />    }    <br />}</pre>

  <br /></div>

<p>In such cases no warning will be issued by FxCop.</p>

<h3>Disposable Implementations Of Non-Disposable Services</h3>

<p>What if we had another service, called IMailChecker:</p>

<div id="codeSnippetWrapper">
  <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">public</span> <span style="color: #0000ff">interface</span> IMailChecker<br />{<br />    <span style="color: #0000ff">bool</span> AnyNewMail();<br />}</pre>

  <br /></div>

<p>and we implemented a GMailChecker:</p>

<div id="codeSnippetWrapper">
  <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> GMailChecker : IMailChecker, IDisposable<br />{    <br />    <span style="color: #0000ff">public</span> <span style="color: #0000ff">bool</span> AnyNewMail() {...}<br />    <span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> Dispose() {...}<br />}</pre>

  <br /></div>

<p>Notice GMailChecker implements IDisposable in addition to IMailChecker interface. But IMailChecker itself is not defined as disposable. How will the user of IMailChecker service know whether the object it holds should be disposed or not?</p>

<p>One way would be to use reflection to determine this. But this is very cumbersome and easy to forget when coding. My way of thinking is that <em>if there’s reasonable possibility the implementations of the service will require disposability, you should declare the service interface as disposable</em>. We can check for this condition with the following unit test:</p>

<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
  <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">[Test, MultipleAsserts]</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> TransientsThatRelyOnDisposableTransientsShouldAlsoBeDisposable ()</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    Type disposableType = <span style="color: #0000ff">typeof</span>(IDisposable);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    IList&lt;KeyValuePair&lt;ComponentModel, ComponentModel&gt;&gt; dependencies = inspector.FindDependencies (</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        (a, b) =&gt;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #0000ff">return</span> a.LifestyleType == LifestyleType.Transient &amp;&amp; <span style="color: #0000ff">false</span> == disposableType.IsAssignableFrom (a.Implementation)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                &amp;&amp; b.LifestyleType == LifestyleType.Transient &amp;&amp; disposableType.IsAssignableFrom(b.Service);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        });</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">foreach</span> (KeyValuePair&lt;ComponentModel, ComponentModel&gt; dependency <span style="color: #0000ff">in</span> dependencies)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        Assert.Fail (</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #006080">&quot;Transient component {0} relies on the disposable transient component {1}, but it itself is not disposable&quot;</span>,</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            dependency.Key.Implementation.FullName,</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            dependency.Value.Implementation.FullName);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>

<p>Below is the updated the implementation of WindsorContainerInspector. Next time we will be discussing issues (= mostly problems) around disposing stuff received from the Windsor container. </p>

<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
  <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> WindsorContainerInspector</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">public</span> WindsorContainerInspector(IWindsorContainer container)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">this</span>.container = container;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">public</span> IList&lt;KeyValuePair&lt;ComponentModel, ComponentModel&gt;&gt; FindDependencies(</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        Func&lt;ComponentModel, ComponentModel, <span style="color: #0000ff">bool</span>&gt; dependencyPredicate)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        List&lt;KeyValuePair&lt;ComponentModel, ComponentModel&gt;&gt; dependencies = <span style="color: #0000ff">new</span> List&lt;KeyValuePair&lt;ComponentModel, ComponentModel&gt;&gt;();</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">foreach</span> (GraphNode node <span style="color: #0000ff">in</span> container.Kernel.GraphNodes)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            ComponentModel dependingNode = (ComponentModel) node;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #0000ff">foreach</span> (GraphNode depender <span style="color: #0000ff">in</span> node.Dependents)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                ComponentModel dependerNode = (ComponentModel)depender;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                <span style="color: #0000ff">if</span> (dependencyPredicate(dependingNode, dependerNode))</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                    dependencies.Add(<span style="color: #0000ff">new</span> KeyValuePair&lt;ComponentModel, ComponentModel&gt;(dependingNode, dependerNode));</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">return</span> dependencies;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">public</span> IList&lt;ComponentModel&gt; FindComponents (Func&lt;ComponentModel, <span style="color: #0000ff">bool</span>&gt; predicate)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        List&lt;ComponentModel&gt; components = <span style="color: #0000ff">new</span> List&lt;ComponentModel&gt;();</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">foreach</span> (GraphNode node <span style="color: #0000ff">in</span> container.Kernel.GraphNodes)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            ComponentModel component = (ComponentModel) node;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            <span style="color: #0000ff">if</span> (predicate(component))</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                components.Add(component);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">return</span> components;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">private</span> <span style="color: #0000ff">readonly</span> IWindsorContainer container;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/development/c/disposing-of-the-evidence/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://farm1.static.flickr.com/48/108876881_fc305b32f7_m.jpg" />
		<media:content url="http://farm1.static.flickr.com/48/108876881_fc305b32f7_m.jpg" medium="image">
			<media:title type="html">Garbage?</media:title>
		</media:content>
		<media:content url="http://igorbrejc.net/wp-content/plugins/photo-dropper/images/cc.png" medium="image">
			<media:title type="html">Creative Commons License</media:title>
		</media:content>
	</item>
		<item>
		<title>Fresh Catch For March 4th</title>
		<link>http://igorbrejc.net/freshcatch/fresh-catch-for-march-4th-2</link>
		<comments>http://igorbrejc.net/freshcatch/fresh-catch-for-march-4th-2#comments</comments>
		<pubDate>Thu, 04 Mar 2010 06:00:09 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Fresh Catch]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1039</guid>
		<description><![CDATA[These are my new delicious links for March 4th:


The Map Room: Relief: Dynamic 3D Interactive Map  
Footprints &#124; Cartogrammar  
CeBIT 2010: German police to use open source Navit navigation  
Older Developers: Habits Are Going To Kill Your Career &#124; Lessons of Failure  
Please Rob Me  




]]></description>
			<content:encoded><![CDATA[<p>These are my new delicious links for March 4th:</p>

<ul>
<li><a href="http://www.mcwetboy.net/maproom/2010/03/relief_dynamic.php" target="_blank">The Map Room: Relief: Dynamic 3D Interactive Map</a> <br /><em></em> </li>
<li><a href="http://www.cartogrammar.com/blog/footprints/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Cartogrammar+%28Cartogrammar%29" target="_blank">Footprints | Cartogrammar</a> <br /><em></em> </li>
<li><a href="http://shortlink.org/osmbbpolice" target="_blank">CeBIT 2010: German police to use open source Navit navigation</a> <br /><em></em> </li>
<li><a href="http://www.lessonsoffailure.com/developers/habits-kill-career/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+LessonsOfFailure+%28Lessons+of+Failure%29&amp;utm_content=Google+Reader" target="_blank">Older Developers: Habits Are Going To Kill Your Career | Lessons of Failure</a> <br /><em></em> </li>
<li><a href="http://pleaserobme.com/" target="_blank">Please Rob Me</a> <br /><em></em> </li>

</ul>

<p><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/freshcatch/fresh-catch-for-march-4th-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Fresh Catch For March 3rd</title>
		<link>http://igorbrejc.net/freshcatch/fresh-catch-for-march-3rd-2</link>
		<comments>http://igorbrejc.net/freshcatch/fresh-catch-for-march-3rd-2#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:00:16 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Fresh Catch]]></category>
		<category><![CDATA[resharper]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1033</guid>
		<description><![CDATA[These are my new delicious links for March 3rd:


Apple vs HTC: a patent breakdown &#8211; Engadget  
ReSharper&#8217;s Hidden Gem  
The Map Scroll: Pacific Tsunami  
Pivotal Tracker &#8211; Free Lightweight Agile Project Management &#38; Team Collaboration, from Pivotal Labs  
Satnav is to blame, says driver rescued from swollen river &#124; News  [...]]]></description>
			<content:encoded><![CDATA[<p>These are my new delicious links for March 3rd:</p>

<ul>
<li><a href="http://i.engadget.com/2010/03/02/apple-vs-htc-a-patent-breakdown/" target="_blank">Apple vs HTC: a patent breakdown &#8211; Engadget</a> <br /><em></em> </li>
<li><a href="http://hadihariri.com/blogengine/post/2009/06/26/ReSharpers-Hidden-Gem.aspx" target="_blank">ReSharper&#8217;s Hidden Gem</a> <br /><em></em> </li>
<li><a href="http://mapscroll.blogspot.com/2010/02/pacific-tsunami.html" target="_blank">The Map Scroll: Pacific Tsunami</a> <br /><em></em> </li>
<li><a href="http://www.pivotaltracker.com/" target="_blank">Pivotal Tracker &#8211; Free Lightweight Agile Project Management &amp; Team Collaboration, from Pivotal Labs</a> <br /><em></em> </li>
<li><a href="http://www.thisislondon.co.uk/standard/article-23809822-satnav-is-to-blame-says-driver-rescued-from-swollen-river.do" target="_blank">Satnav is to blame, says driver rescued from swollen river | News</a> <br /><em></em> </li>

</ul>

<p><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/freshcatch/fresh-catch-for-march-3rd-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Fresh Catch For March 1st</title>
		<link>http://igorbrejc.net/freshcatch/fresh-catch-for-march-1st-2</link>
		<comments>http://igorbrejc.net/freshcatch/fresh-catch-for-march-1st-2#comments</comments>
		<pubDate>Mon, 01 Mar 2010 18:00:25 +0000</pubDate>
		<dc:creator>breki</dc:creator>
				<category><![CDATA[Fresh Catch]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[maps]]></category>

		<guid isPermaLink="false">http://igorbrejc.net/?p=1022</guid>
		<description><![CDATA[These are my new delicious links for March 1st:


ReSharper :: What&#8217;s New in ReSharper 5.0  
Map Font Basics (Article 1): Typography  
Pricing software  
jsFiddle &#8211; Online Editor for the Web (JavaScript, MooTools, jQuery, Prototype, YUI, Glow and Dojo, HTML, CSS)  
Domain Events &#8211; Salvation  




]]></description>
			<content:encoded><![CDATA[<p>These are my new delicious links for March 1st:</p>

<ul>
<li><a href="http://www.jetbrains.com/resharper/beta/beta.html?r5b2nl" target="_blank">ReSharper :: What&#8217;s New in ReSharper 5.0</a> <br /><em></em> </li>
<li><a href="http://drjill.net/?p=283" target="_blank">Map Font Basics (Article 1): Typography</a> <br /><em></em> </li>
<li><a href="http://ayende.com/Blog/archive/2010/02/27/pricing-software.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+AyendeRahien+%28Ayende+%40+Rahien%29&amp;utm_content=Google+Reader" target="_blank">Pricing software</a> <br /><em></em> </li>
<li><a href="http://jsfiddle.net/" target="_blank">jsFiddle &#8211; Online Editor for the Web (JavaScript, MooTools, jQuery, Prototype, YUI, Glow and Dojo, HTML, CSS)</a> <br /><em></em> </li>
<li><a href="http://www.udidahan.com/2009/06/14/domain-events-salvation/" target="_blank">Domain Events &ndash; Salvation</a> <br /><em></em> </li>

</ul>

<p><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://igorbrejc.net/freshcatch/fresh-catch-for-march-1st-2/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.191 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-14 15:30:50 -->
