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

<channel>
	<title>Eric Polerecky &#187; MEF</title>
	<atom:link href="http://eric.polerecky.com/archives/category/mef/feed/" rel="self" type="application/rss+xml" />
	<link>http://eric.polerecky.com</link>
	<description>An outlet for my obsession with technology</description>
	<lastBuildDate>Wed, 08 Sep 2010 21:18:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>AutoDeploy.NET to GitHub</title>
		<link>http://eric.polerecky.com/archives/autodeploy-net-to-github/</link>
		<comments>http://eric.polerecky.com/archives/autodeploy-net-to-github/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:15:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[AutoDeploy.NET]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[MEF]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[autodeploy]]></category>
		<category><![CDATA[fluent interface]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/autodeploy-net-to-github/</guid>
		<description><![CDATA[First; When I pushed to GitHub I decided to rename the project to AutoDeploy.NET. In the hopes of keeping my sanity and in the context of working in an organization that strictly follows a 50+ page “release management handbook” I started working on AutoDeploy.NET; a deployment automation tool. As with all my personal projects I


Related posts:<ol><li><a href='http://eric.polerecky.com/archives/introducing-autodeploy/' rel='bookmark' title='Permanent Link: Introducing: AutoDeploy'>Introducing: AutoDeploy</a> <small>A class library to help automate simple deployment tasks. Warning:...</small></li>
<li><a href='http://eric.polerecky.com/archives/autodeploy-dogfood/' rel='bookmark' title='Permanent Link: AutoDeploy &ndash; Dogfood'>AutoDeploy &ndash; Dogfood</a> <small>Its been a very slow road for me and coding...</small></li>
<li><a href='http://eric.polerecky.com/archives/autodeploy-rework/' rel='bookmark' title='Permanent Link: AutoDeploy Rework'>AutoDeploy Rework</a> <small>Tonight I reworked in workflow, persistence, mapping, and entities in...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>First; When I pushed to <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">GitHub</a> I decided to rename the project to <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">AutoDeploy.NET</a>. </p>
<p>In the hopes of keeping my sanity and in the context of working in an organization that strictly follows a 50+ page “release management handbook” I started working on <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">AutoDeploy.NET</a>; a deployment automation tool. </p>
<p>As with all my personal projects I took an academic approach to the design and implementation. Instead of building an entire application I created a class library (dll) and used a few 3rd party libraries that I was either unfamiliar.</p>
<h4>Class Library</h4>
<p>My thought here is that by just creating the class library I would have a chance to create a fluent interface and if I did that well enough, creating a UI would be a trivial task. I have not hit a brick wall with this decision but messaging and logging might soon bite me in the…end.</p>
<h4>Sharp SVN</h4>
<p><a href="http://sharpsvn.open.collab.net/" target="_blank">SharpSvn</a> is a binding of the Subversion Client API for .Net 2.0 applications contained within a set of xcopy-deployable dll&#8217;s</p>
<p>Working with source control <strong>should</strong> be part of every deployment, build process, or continuous integration. I use SVN for my source control and so did organization. As I, along with what seems like the rest of the world, move to Git I might find time to write a Git service for <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">AutoDeploy.NET</a></p>
<h4>Html Agility Pack</h4>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel">The <a href="http://www.codeplex.com/htmlagilitypack" target="_blank">Html Agility Pack</a> is an agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT (you actually don&#8217;t HAVE to understand XPATH nor XSLT to use it, don&#8217;t worry&#8230;). It is a .NET code library that allows you to parse &quot;out of the web&quot; HTML files. The parser is very tolerant with &quot;real world&quot; malformed HTML. The object model is very similar to what proposes System.Xml, but for HTML documents (or streams).</span></p>
<p>Instead of using Sharp SVN or simple the .NET webclient I used the agility pack to parse the html that is returned when browsing a SVN repo. This is done to monitor the repo for new tags and kick off deployments based on the tag convention x.x.x. </p>
<p>The use is purely academic and limited in scope. It could easily be removed in order to cut-down on the number of 3rd party libraries required.</p>
<h4>MEF</h4>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel">The <a href="http://mef.codeplex.com/" target="_blank">Managed Extensibility Framework (MEF)</a> is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.</span></p>
<p>Extensibility! The decision to use MEF at such an early stage was purely academic but the result is perfect. I only wanted to code for the common scenarios. </p>
<p>In the environment I worked the process was very manual with SharePoint forms being touted as progress…I planed on writing a class library that implemented ICustomTask and called WaitN to fill out the endless, mind-numbing, pointless, wasteful, costly, wow….sorry..off track.</p>
<h4>Unity</h4>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel">The <a href="http://www.codeplex.com/unity/" target="_blank">Unity Application Block (Unity)</a> is a lightweight extensible dependency injection container with support for constructor, property, and method call injection.</span></p>
<p>I choose unity because I am familiar with it. I should have used <a href="http://ninject.org/" target="_blank">ninject</a> or <a href="http://code.google.com/p/autofac/" target="_blank">autofac</a> or <a href="http://structuremap.sourceforge.net/Default.htm" target="_blank">StructureMap</a> or .. well you get the point. </p>
<h4>Fluent Interface</h4>
<p>A <a href="http://en.wikipedia.org/wiki/Fluent_interface" target="_blank">fluent interface</a> is a way of implementing an object oriented API in a way that aims to provide for more readable code.</p>
<p>It started off as a way to work with the buzz word of the day…but the first time I wrote an <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">AutoDeploy.NET</a> parent application using the fluent interface I was hooked!</p>
<h4>Point In Time</h4>
<p>I made, what I consider, significent progress on <a href="http://github.com/detroitpro/AutoDeploy.NET/tree/master" target="_blank">AutoDeploy.NET</a> before parting ways with said organization. And while I hope to never ever need such a tool I feel for those solders I left behind. Seriously; we’ve identified many different scenarios where automating one or more of the common deployment tasks would be helpful to any developer. </p>
<p>Logging, Auditing and Messaging are the missing pieces at this time. </p>


<p>Related posts:<ol><li><a href='http://eric.polerecky.com/archives/introducing-autodeploy/' rel='bookmark' title='Permanent Link: Introducing: AutoDeploy'>Introducing: AutoDeploy</a> <small>A class library to help automate simple deployment tasks. Warning:...</small></li>
<li><a href='http://eric.polerecky.com/archives/autodeploy-dogfood/' rel='bookmark' title='Permanent Link: AutoDeploy &ndash; Dogfood'>AutoDeploy &ndash; Dogfood</a> <small>Its been a very slow road for me and coding...</small></li>
<li><a href='http://eric.polerecky.com/archives/autodeploy-rework/' rel='bookmark' title='Permanent Link: AutoDeploy Rework'>AutoDeploy Rework</a> <small>Tonight I reworked in workflow, persistence, mapping, and entities in...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/autodeploy-net-to-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools I want to use more</title>
		<link>http://eric.polerecky.com/archives/tools-i-want-to-use-more/</link>
		<comments>http://eric.polerecky.com/archives/tools-i-want-to-use-more/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 17:05:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC Futures]]></category>
		<category><![CDATA[MEF]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[ndepend]]></category>
		<category><![CDATA[nhibernate]]></category>
		<category><![CDATA[nunit]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[ndpend]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/tools-i-want-to-use-more/</guid>
		<description><![CDATA[As a follow up to my tools post here is a list of the tools I’d like to spend more time with. The % next to the title is an estimation as the likelihood I’ll do any serious work with the tool/software/etc. ReSharper – 20% http://www.jetbrains.com/resharper/ Simply put, ReSharper is a must-have productivity tool for


No related posts.]]></description>
			<content:encoded><![CDATA[<p>As a follow up to my tools post here is a list of the tools I’d like to spend more time with. The % next to the title is an estimation as the likelihood I’ll do any serious work with the tool/software/etc.</p>
<h3 class="underline shift">ReSharper – 20%</h3>
<p><a title="http://www.jetbrains.com/resharper/" href="http://www.jetbrains.com/resharper/">http://www.jetbrains.com/resharper/</a></p>
<p>Simply put, ReSharper is a must-have productivity tool for .NET developers. It fully integrates with Visual Studio to intelligently and powerfully extend the functionality that is native to Visual Studio. ReSharper provides solution-wide error highlighting on the fly, instant solutions for found errors, over 30 advanced code refactorings, superior unit testing tools, handy navigation and search features, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET, XML, and XAML.</p>
<h3>NDepend – 10%</h3>
<p><a href="http://www.ndepend.com/">http://www.ndepend.com/</a></p>
<p><span style="font-family: arial; color: rgb(89,124,176); font-size: 10pt" id="ctl00_MyContentPH_Label1"><font color="#000000">NDepend is a tool that simplifies managing a complex .NET code base. Architects and developers can analyze code structure, specify design rules, plan massive refactoring, do effective code reviews and master evolution by comparing different versions of the code. </font></span></p>
<h3><font color="#000000">C# – 70%</font></h3>
<p><a href="http://msdn.microsoft.com/en-us/vcsharp/default.aspx">http://msdn.microsoft.com/en-us/vcsharp/default.aspx</a></p>
<h3>NHibernate – 80%</h3>
<p><a href="https://www.hibernate.org/343.html">https://www.hibernate.org/343.html</a></p>
<p><span style="color: rgb(204,0,0)">NHibernate</span> is a port of <a href="https://www.hibernate.org/344.html"><u><font color="#0066cc">Hibernate Core</font></u></a> for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, <span style="color: rgb(204,0,0)">NHibernate</span> automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code.</p>
<h3>NUnit – 20%</h3>
<p><a href="http://www.nunit.org/index.php">http://www.nunit.org/index.php</a></p>
<p>NUnit is a unit-testing framework for all .Net languages. Initially ported from <a href="http://www.junit.org/" target="_self"><u><font color="#0066cc">JUnit</font></u></a>, the current production release, version 2.4, is the fifth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.</p>
<p> <span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"><br />
<h3>MEF – 60%</h3>
<p><span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"><a href="http://www.codeplex.com/MEF">http://www.codeplex.com/MEF</a></span></p>
<p><span>The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.</span></p>
<h3>DDD – 100%</h3>
</p>
<p> </span></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/tools-i-want-to-use-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
