<?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>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code &#187; Open Source Software</title>
	<atom:link href="http://elegantcode.com/tag/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Buy Soma Without Prescription</title>
		<link>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-open-source-maturity-model</link>
		<comments>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:20:00 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/02/29/the-open-source-maturity-model/</guid>
		<description><![CDATA[Buy Soma Without Prescription, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, Soma long term. Soma overnight, [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Buy Soma Without Prescription</b>, The discussion, about what constitutes OSS and not, have been going on on Twitter and the .NET blogosphere for a couple of weeks now. The root of it all has been whether or not Microsoft should call their work with ASP.NET MVC as open-source or not, <b>Soma long term</b>.  <b>Soma overnight</b>, Reading what has been said and taking part in the discussion myself I feel that quite often the discussion is clouded by our individual thoughts on what constitutes as open-source or not, rather then what the actual definition states, <b>where can i buy Soma online</b>.  <b>Soma forum</b>, So what does the definition says. Well we can look at the <a title="Read the OSI definition of Open-Source" href="http://www.opensource.org/docs/osd" target="_blank">Open-Source Definition</a>, <b>Soma description</b>, <b>Purchase Soma online</b>, by the Open-Source Initiative, and the <a href="http://www.gnu.org/philosophy/free-sw.html.en" target="_blank">Free Software Definition</a>, <b>Soma samples</b>, <b>Soma used for</b>, by the Free Software Foundation for guidance on that. I won’t recite any of sources because both have very clear definitions on their websites, <b>Buy Soma Without Prescription</b>.<br />
<h2>What’s missing from this picture?</h2><br />
There are a couple of things missing for both of them, <b>where can i order Soma without prescription</b>.  <b>Buy Soma from canada</b>, Things like when and how often do you need to make source code publically available. Do you need to develop in the open, <b>purchase Soma for sale</b>, <b>Fast shipping Soma</b>, with public roadmaps and feature discussions. Do you have to accept code contributions or not, <b>Soma price</b>.  <b>Buy Soma Without Prescription</b>, For the most of us (?) those are no brainers; you should put code out in the public as quickly as you can, engage in discussions with your community and accept contributions with open arms as long as it is <a title="Read my blog post about the importance of vision in open-source" href="http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/" target="_blank">true to your vision</a>.  <b>Is Soma safe</b>, However these are all values that we, as a community, <b>herbal Soma</b>, <b>Soma steet value</b>, layer on top of the definition of open-source and open-source software. These are things we have seen help increase the transparency in our projects, <b>Soma wiki</b>, <b>What is Soma</b>, help improve quality and add more value to our work.</p>
<p>You can take all of that away and still do open-source, <b>online buying Soma hcl</b>, <b>About Soma</b>, but you are selling yourself short (if you ask “us”) if you do.<br />
<h2>What can we do?</h2><br />
You tell me, <b>Soma price</b>. One idea I had tonight, while arguing about this on Twitter, was that maybe we need a way to measure the maturity of open-source participation of a company/product, <b>Buy Soma Without Prescription</b>.  <b>Order Soma no prescription</b>, If you’ve ever read anything about REST you may have come across the <a title="Read about the Richardson Maturity Model on the blog of Martin Folwer" href="http://martinfowler.com/articles/richardsonMaturityModel.html" target="_blank">Richardson's Maturity Model</a> for services on the web. Basically it’s a measuring stick for how far you’ve come with your REST adoption, <b>buy no prescription Soma online</b>.  <b>Buy Soma online no prescription</b>, Check out the link so read about the 4 levels of the model.</p>
<p>What if we could apply the same idea for open-source, <b>ordering Soma online</b>.  What if we had something like this<br />
<ul><br />
	<li> <b>Buy Soma Without Prescription</b>, Level 3.  <b>Kjøpe Soma på nett, köpa Soma online</b>, Accepts patches</li><br />
	<li>Level 2. Make code available on a regular basis</li><br />
	<li>Level 1, <b>Soma description</b>.  <b>Purchase Soma online</b>, Develops in the open</li><br />
	<li>Level 0. Compliant with the OSI / FSF definition of open-source</li><br />
</ul><br />
These maturity levels aren’t something I’ve been philosophizing about for a long time, <b>Soma duration</b>, <b>Soma images</b>, in fact they popped into my head about 30 minutes ago while I was engaged in the Twitter discussion.</p>
<p>Just to be crystal clear; <em>The number of levels and the the definition of each level is not something I would consider set in stone at the time of the writing.</em></p>
<p>Instead I hope they can inspire to some interesting discussion and perhaps even a consensus on what such a model should look like, <b>my Soma experience</b>.  <b>Effects of Soma</b>, Maybe I’m just talking out of my ass here or maybe I am onto something. Either way, <b>order Soma online c.o.d</b>, <b>Doses Soma work</b>, let me know in the comments. I personally thing something like this could help out when we, <b>where can i buy Soma online</b>, <b>Buy Soma from mexico</b>, the community, talk about open-source and open-source software, <b>Soma class</b>.  Soma for sale.  Discount Soma.  Soma alternatives.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4668'>Buy Augmentin Without Prescription</a>. <a href='http://elegantcode.com/?p=4535'>Buy Tindamax Without Prescription</a>. <a href='http://elegantcode.com/?p=4379'>Cialis For Sale</a>. <a href='http://elegantcode.com/?p=4372'>Nexium For Sale</a>. <a href='http://elegantcode.com/?p=4482'>Buy Clonidine Without Prescription</a>. <a href='http://elegantcode.com/?p=4657'>Buy Lexapro from mexico</a>. <a href='http://elegantcode.com/?p=4432'>Buying Erythromycin online over the counter</a>. <a href='http://elegantcode.com/?p=4742'>Buy no prescription Imitrex online</a>. <a href='http://elegantcode.com/?p=4976'>Buy Atarax without prescription</a>. <a href='http://elegantcode.com/?p=4288'>Xalatan online cod</a>.<br />
<b>Trackbacks from:</b> <a href='http://www.greatgreengoods.com/?p=2985'>Buy Soma Without Prescription</a>. <a href='http://www.thegriffonnews.com/?p=9832'>Buy Soma Without Prescription</a>. <a href='http://evanrapoport.com/?p=656'>Buy Soma Without Prescription</a>. <a href='http://www.themusclecarplace.com/?p=3774'>Buy Soma Without Prescription</a>. <a href='http://linuxologist.com/?p=122'>Buy Soma Without Prescription</a>. <a href='http://www.quarterlives.com/?p=1068'>Soma without a prescription</a>. <a href='http://www.macneilbmx.com/blog/?p=5532'>Real brand Soma online</a>. <a href='http://social-blend.com/?p=506'>Soma pharmacy</a>. <a href='http://blog.farmland.org/?p=2478'>Buy Soma online cod</a>. <a href='http://www.leaduganda.org/?p=476'>Where can i buy cheapest Soma online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/02/29/the-open-source-maturity-model/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cialis For Sale</title>
		<link>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nancy-on-hanselminutes-and-the-awesome-community-behind-it</link>
		<comments>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 08:21:49 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[Nancy]]></category>
		<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/</guid>
		<description><![CDATA[A week ago I was invited to participate in he Hanselminutes postcast by Scott Hanselman to talk about Nancy Cialis For Sale, and Micro Web Framework. The recording for episode #270 can be found at Nancy, low dose Cialis, Fast shipping Cialis, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson I [...]]]></description>
			<content:encoded><![CDATA[<p> <p>A week ago I was invited to participate in he <a title="Visit the Hanselminutes podcast website" href="http://hanselminutes.com" target="_blank">Hanselminutes postcast</a> by <a title="Visit the blog of Scott Hanselman" href="http://hanselman.com" target="_blank">Scott Hanselman</a> to talk about <a title="Visit the Nancy project site" href="http://nancyfx.org/" target="_blank">Nancy</a> <b>Cialis For Sale</b>, and Micro Web Framework. The recording for episode #270 can be found at <a title="Check out the podcast episode at hanselminutes.com" href="http://hanselminutes.com/default.aspx?showID=290" target="_blank">Nancy, <b>low dose Cialis</b>, <b>Fast shipping Cialis</b>, Sinatra and the Explosion of .NET Micro Web Frameworks with Andreas Håkansson</a></p>  <p>I had a great time talking to Scott, who is an excellent host, <b>Cialis pharmacy</b>, <b>Cialis use</b>, but one thing I did not get an opportunity to do was to extend my gratitude to the awesome people that are forming up a community around the project, everybody from the people that blog, <b>Cialis alternatives</b>, <b>Cialis from canada</b>, tweet, screencast or in some other way help Nancy grow into an awesome framework – so <em>thank you to all of you!</em></p>  <p>The following people have all contributed to the Nancy repository and have helped us get many of the awesome features and bug fixes (if your name should be on this list, <b>Cialis forum</b>, <b>Cialis from mexico</b>, but it not, please drop me a line and I will get sorted out!)</p>  <p><a href="http://github.com/andypike">Andy Pike</a>, <b>Cialis long term</b>, <b>Buy no prescription Cialis online</b>, <a href="http://github.com/bjartn">Bjarte Djuvik Næss</a>, <a href="http://github.com/lucisferre">Chris Nicola</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis without prescription</b>, <a href="http://github.com/davidhong">David Hong</a>, <a href="http://github.com/GraemeF">Graeme Foster</a>, <b>Cialis duration</b>, <b>Where to buy Cialis</b>, <a href="http://github.com/gatapia">Guido Tapia</a>, <a href="http://github.com/hgarcia">Hernan Garcia</a>, <b>Cialis results</b>, <b>Cialis gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, <a href="http://github.com/innovatian">Ian Davis</a>, <a href="http://github.com/knecke">Jonas Cannehag</a>, <b>taking Cialis</b>, <b>Cialis forum</b>, <a href="http://github.com/jfromaniello">José F. Romaniello</a>, <b>Cialis from canadian pharmacy</b>, <b>Cialis duration</b>, <a href="http://github.com/karlseguin">Karl Seguin</a>, <a href="http://github.com/lukesmith">Luke Smith</a>, <b>Cialis schedule</b>, <b>Cialis images</b>, <a href="http://github.com/jameseggers1">James Eggers</a>, <a href="http://github.com/meadiagenic">Jason Mead</a>, <b>online buy Cialis without a prescription</b>, <b>Online buying Cialis hcl</b>, <a href="http://github.com/jeremyskinner">Jeremy Skinner</a>, <a href="http://github.com/joaobraganca">João Bragança</a>, <b>where can i buy Cialis online</b>, <b>Cialis overnight</b>, <a href="http://github.com/johandanforth">Johan Danforth</a>, <a href="http://github.com/jtdowney">John Downey</a>, <b>doses Cialis work</b>, <b>Cialis dosage</b>, <a href="http://github.com/maciejk">Maciej Kowalewski</a>, <a href="http://github.com/mpdreamz">Martijn Laarman</a>, <b>order Cialis online overnight delivery no prescription</b>, <b>Cialis results</b>, <a href="http://github.com/mmozuras">Mindaugas Mozûras</a>, <a href="http://github.com/patrik-hagne">Patrik Hägne</a>, <b>my Cialis experience</b>, <b>Where can i cheapest Cialis online</b>, <a href="http://github.com/pmhsfelix">Pedro Felix</a>, <a href="http://github.com/pwlodek">Piotr Wlodek</a>, <b>Cialis without prescription</b>, <b>Cialis no rx</b>, <a href="http://github.com/haacked">Phil Haack</a>, <a href="http://github.com/robertthegrey">Robert Greyling</a>, <b>cheap Cialis</b>, <b>Cialis pharmacy</b>, <a href="http://github.com/ssboisen">Simon Skov Boisen</a>, <a href="http://github.com/grumpydev">Steven Robbins</a>, <b>kjøpe Cialis på nett, köpa Cialis online</b>, <b>Cialis street price</b>, <a href="http://github.com/thedersen">Thomas Pedersen</a>, <a href="http://github.com/troethom">Troels Thomsen</a>, <b>Cialis description</b>, <b>Where can i buy cheapest Cialis online</b>, <a href="http://github.com/vidarls">Vidar L. Sømme</a></p>  <p>I would like to extend a special thank you and shout out to my friend and co-conspirator <a title="Visit the blog of Steven Robbins a.k.a GrumpyDev" href="http://www.grumpydev.com/" target="_blank">Steven Robbins</a> a.k.a <a title="Checkout GrumpyDev on Twitter" href="http://twitter.com/#!/grumpydev" target="_blank">@GrumpyDev</a> on Twitter. He is a continuous source of awesome for Nancy and the project is better for having him onboard, that is one thing I am certain on. <em>Thank you buddy!</em></p>.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4699'>Buy Metronidazole Gel Without Prescription</a>. <a href='http://elegantcode.com/?p=4189'>Flexeril For Sale</a>. <a href='http://elegantcode.com/?p=4522'>Flonase For Sale</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream For Sale</a>. <a href='http://elegantcode.com/?p=4417'>Levaquin For Sale</a>. <a href='http://elegantcode.com/?p=4560'>Purchase Vermox for sale</a>. <a href='http://elegantcode.com/?p=4972'>Hydrochlorothiazide cost</a>. <a href='http://elegantcode.com/?p=4387'>Lumigan reviews</a>. <a href='http://elegantcode.com/?p=4386'>Temovate Cream overnight</a>. <a href='http://elegantcode.com/?p=4680'>Buy Tramadol online no prescription</a>.<br />
<b>Trackbacks from:</b> <a href='http://social-blend.com/?p=545'>Cialis For Sale</a>. <a href='http://www.quarterlives.com/?p=298'>Cialis For Sale</a>. <a href='http://4realz.net/?p=690'>Cialis For Sale</a>. <a href='http://www.macneilbmx.com/blog/?p=5473'>Cialis For Sale</a>. <a href='http://www.greatgreengoods.com/?p=3107'>Cialis For Sale</a>. <a href='http://blog.farmland.org/?p=3375'>Cialis pharmacy</a>. <a href='http://reversemortgagedaily.com/?p=14464'>Get Cialis</a>. <a href='http://linuxologist.com/?p=566'>Cialis pharmacy</a>. <a href='http://home.officesnapshots.com/?p=221'>Ordering Cialis online</a>. <a href='http://evanrapoport.com/?p=255'>Buy Cialis no prescription</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/06/18/nancy-on-hanselminutes-and-the-awesome-community-behind-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Atarax For Sale</title>
		<link>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-value-of-open-source-is-the-vision-not-the-source-code</link>
		<comments>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:47:42 +0000</pubDate>
		<dc:creator>Andreas Håkansson</dc:creator>
				<category><![CDATA[rant]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/</guid>
		<description><![CDATA[Atarax For Sale, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up. Atarax long term, Some say it’s a dead horse being beaten, other that it’s a vibrant, Atarax natural, Atarax street price, thriving community. Sound familiar, no prescription Atarax online. Order Atarax from [...]]]></description>
			<content:encoded><![CDATA[<p> <b>Atarax For Sale</b>, It seem that every 3-5 month or so, the discussion on the state of the .NET open-source community flairs up.  <b>Atarax long term</b>, Some say it’s a dead horse being beaten, other that it’s a vibrant, <b>Atarax natural</b>, <b>Atarax street price</b>, thriving community. Sound familiar, <b>no prescription Atarax online</b>.  <b>Order Atarax from United States pharmacy</b>, Who cares?. Seriously, <b>Atarax wiki</b>, <b>Atarax gel, ointment, cream, pill, spray, continuous-release, extended-release</b>, who cares. The right thing to do in either case is the exact same thing; keep injecting more value into it, <b>Atarax For Sale</b>.</p>
<p>If the movement (if you can call it that) is truly dead, <b>Atarax use</b>, <b>Where can i cheapest Atarax online</b>, then what. Do we just roll over and play dead, <b>get Atarax</b>, <b>Purchase Atarax for sale</b>, or do we add more value to it and help breath new life in to it. If your answer is the former then you are simply not an open-source kind of guy, <b>Atarax class</b>.  <b>Comprar en línea Atarax, comprar Atarax baratos</b>, Now imagine that it’s is, in fact, <b>buying Atarax online over the counter</b>, <b>Atarax pics</b>, a vibrant and thriving community, full of goodies to choose from, <b>buy cheap Atarax</b>.  <b>Atarax For Sale</b>, What should be do then.  <b>Atarax no prescription</b>, Stop adding value to it since it’s already doing well, or do we keep on pushing to add even more value into it, <b>cheap Atarax</b>.  <b>Generic Atarax</b>, We keep adding value, of course, <b>fast shipping Atarax</b>, <b>Kjøpe Atarax på nett, köpa Atarax online</b>, if it wasn’t already obvious that would be my answer.</p>
<p>Alright then, <b>buy Atarax without prescription</b>, <b>Atarax images</b>, how do we inject move value into it. Contribute to an already active project or start a new one, <b>Atarax from canada</b>. It truly depends on your visions, <b>Atarax For Sale</b>.  <b>Buy generic Atarax</b>, First of all let me make it perfectly clear that I think diversity is not only a good thing, but a sign of a healthy community, <b>Atarax for sale</b>.  <b>Order Atarax no prescription</b>, There is no single “silver bullet” that will solve all problems or in a way that out domain requires them to. It’s very rare for a “all-in-one” solution is the best for your scenario and that’s why I believe opinionated solutions is required, <b>Atarax price</b>.  <b>Order Atarax online c.o.d</b>, Everybody won’t agree to a single opinion, it’s just not ever going to happen, <b>Atarax alternatives</b>, <b>Online buy Atarax without a prescription</b>, so how could a single framework or product be the solution to all problems we face in our industry.  <b>Atarax For Sale</b>, It can’t.</p>
<p>The first thing you should get out of your head is that your source code is where the gravy is, <b>buy Atarax without a prescription</b>.  <b>Atarax recreational</b>, Sticking to that story won’t get your very fare. Any decent programmer can probably reproduce any functionality with their own implementation, <b>where can i buy Atarax online</b>.  <b>Atarax photos</b>, It might not be as fancy as your solution, but I’ll bet you that it would work well enough to solve the problem they were facing – they’d see to that, <b>Atarax brand name</b>.</p>
<p>So if the value is not in the source code, that you’ve spent weeks, maybe months, perfecting and to work just the way you wanted it to, with all the fancy solutions and patterns in place, then were is it, <b>Atarax For Sale</b>.  <b>Buy Atarax from canada</b>, It’s in the vision of the source code. The vision is the heart and soul of your project and it’s what will ensure that the project can live on even if you loose interest, <b>my Atarax experience</b>.  <b>Buy Atarax from mexico</b>, It’s your opinions on how things should be done.</p>
<p>Now, <b>where can i order Atarax without prescription</b>, of course, if you vision is nearly the same as the next guy and all you do is pinch his source code and call it your own thing, then you’re just being an asshole.  <b>Atarax For Sale</b>, I’m sorry, but you are. If you have a clear idea on how you thing a certain set of problems should be solved, that’s when you have the foundation for a nice opinionated solution…that’s the vision of your project.</p>
<p>The vision of the project should be set in stone before you make the first public release. Be careful not to be blinded by the massive amount of suggestions and contributions that you might be getting. If they will lead you down a path that is not true to your vision – ignore them.  Send them a “thank you, but this is not for this project” and if they don’t like that then they should distil their visions into their own project, <b>Atarax For Sale</b>. It’s impossible to say which would be the better solution – heck, why can’t both be just as good but suite different people. Diversity.</p>
<p>If you nurture the vision of your project well enough and attract equal minded people then you have started a community and they will make sure the project stays true to the original vision, trust me. Should you suddenly loose interest in the project, or for some other reason not be able to commit to the cause anymore, the community can simply fork and create a new authorities branch. This has happened time and time again in many of the big open-source projects.</p>
<p>I’m happy to say that I keep seeing the diversity in the .NET open-source community grow as we speak. I keep seeing more and more small, opinionated, projects pop up and that they are being embraced by a subset of our community as a whole. Sure, the .NET community has probably quite a bit more to invest in open-source, but it’s getting there and the only way to get there faster is to be part of the ride.</p>
<p></p>
<p><b>Similar posts:</b> <a href='http://elegantcode.com/?p=4752'>Buy Colchicine Without Prescription</a>. <a href='http://elegantcode.com/?p=4606'>Macrobid For Sale</a>. <a href='http://elegantcode.com/?p=4395'>Buy Temovate Cream Without Prescription</a>. <a href='http://elegantcode.com/?p=4643'>Buy Premarin Without Prescription</a>. <a href='http://elegantcode.com/?p=4374'>Buy Prozac Without Prescription</a>. <a href='http://elegantcode.com/?p=4967'>Spiriva canada, mexico, india</a>. <a href='http://elegantcode.com/?p=5094'>Where can i cheapest Clomid online</a>. <a href='http://elegantcode.com/?p=4660'>Lumigan pharmacy</a>. <a href='http://elegantcode.com/?p=5156'>Where can i order Amoxicillin without prescription</a>. <a href='http://elegantcode.com/?p=4668'>Canada, mexico, india</a>.<br />
<b>Trackbacks from:</b> <a href='http://home.officesnapshots.com/?p=185'>Atarax For Sale</a>. <a href='http://reversemortgagedaily.com/?p=14794'>Atarax For Sale</a>. <a href='http://social-blend.com/?p=622'>Atarax For Sale</a>. <a href='http://www.quarterlives.com/?p=299'>Atarax For Sale</a>. <a href='http://4realz.net/?p=2127'>Atarax For Sale</a>. <a href='http://blog.farmland.org/?p=1829'>Atarax from canadian pharmacy</a>. <a href='http://www.leaduganda.org/?p=3431'>Purchase Atarax online no prescription</a>. <a href='http://linuxologist.com/?p=438'>Atarax images</a>. <a href='http://evanrapoport.com/?p=479'>Atarax alternatives</a>. <a href='http://www.themusclecarplace.com/?p=3261'>Atarax use</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/05/28/the-value-of-open-source-is-the-vision-not-the-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Source Silverlight video players</title>
		<link>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-silverlight-video-players</link>
		<comments>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:28:17 +0000</pubDate>
		<dc:creator>cschuman</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/</guid>
		<description><![CDATA[Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (link 1 &#124; link 2), have a button to play, a way to control the volume, a scrubber [...]]]></description>
			<content:encoded><![CDATA[<p><a style="float: right" href="http://elegantcode.com/wp-content/uploads/2010/01/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2010/01/image_thumb4.png" width="150" height="240" /></a> Lately I've been spending a lot of time in the Silverlight video space.&#160; Both with writing the video chapter for my Silverlight 4 book as well as at work.&#160; Creating a basic video player is straight forward (<a href="http://www.85turns.com/2008/04/02/create-a-video-player-silverlight-2-part-1/">link 1</a> | <a href="http://www.85turns.com/2008/04/15/create-a-video-player-silverlight-2-part-2/">link 2</a>), have a button to play, a way to control the volume, a scrubber to show the position of playback, and of course an area to view the video.&#160; </p>  <p>Once you get beyond the basic requirements, the “basic video player” becomes very involved.&#160; A few questions that will need attention are: </p>  <ul>   <li>“How do you handler markers?” </li>    <li>“How is streaming video handled?” </li>    <li>“What do you do an an error?” </li>    <li>“What’s the strategy for buffering?” </li>    <li>“Can the video player support Smooth Streaming content?” (this is a whole different conversation) </li>    <li>“How does the video player handle Closed captioning?” </li> </ul>  <p>And on and on the list goes.&#160; At some point (hopefully in the analysis phase) you should ask is it better to build or buy.&#160; If you decide to build, give me a call ;), but before you do I would encourage you to take a look at the following open-source (free) Silverlight video player options.&#160; If nothing else, these players are great place to start.</p>  <p>I’ll start off with the three best options, then highlight other projects I am less familiar with.</p>  <h3>Silverlight Media Framework (SMF)</h3>  <p><a href="http://smf.codeplex.com/">http://smf.codeplex.com/</a></p>  <p>This is so much more than a video player, it’s an entire framework.&#160; Developed by <a href="http://www.vertigo.com/">Vertigo</a> in coordination with Microsoft, SMF has been used on the largest, most watched, Silverlight video players to date.&#160; Wimbledon, NFL’s Sunday Night Football, PDC live keynote, and the NBC’s Vancouver Olympics video players, to name a few, all use SMF.&#160; To say it’s robust would be an understatement.</p>  <p>Other than the standard video player controls, here are additional highlights of SMF:</p>  <ul>   <li>Smooth Streaming support – includes the <strong>Microsoft.Web.Media.SmoothStreaming.dll</strong> </li>    <li>Great base classes like <strong>MergeableCollection</strong>, <strong>SimpleEventArgs</strong> and <strong>ObservableObject</strong> </li>    <li>A light weight data project </li>    <li>Logging </li>    <li>Blendability – the player is easily skinned </li>    <li>InStream markers </li>    <li>Bitrate – the ability to show bitrate </li> </ul>  <p>For a more detailed list of features, and the code, check out SMF’s site.</p>  <h3>Silverlight Video Player</h3>  <p><a href="http://slvideoplayer.codeplex.com/">http://slvideoplayer.codeplex.com/</a></p>  <p>If you have ever watched a video on <a href="http://channel9.msdn.com/">Channel 9</a> (if you haven’t check out <a href="http://channel9.msdn.com/shows/SilverlightTV/">Silverlight TV</a>) the player being used is this video player.&#160; It was developed by <a href="http://timheuer.com/blog/">Tim Heuer</a> (Microsoft) and <a href="http://joel.neubeck.net/">Joel Nuebeck</a> (Silverlight MVP).&#160; Although SVP does not the feature set the SMF player has, this is still a solid and proven video player.&#160; It’s is probably the best option for a standard, light weight, feature rich video player.</p>  <h3>Silverlight HyperVideo player (HVP)</h3>  <p><a title="http://slhvp.com/" href="http://slhvp.com/">http://slhvp.com/</a></p>  <p>A new video player to the scene is the Silverlight Hyper-Video Player (HVP).&#160; This offering is from <a href="http://blogs.silverlight.net/blogs/jesseliberty/">Jesse Liberty</a> (Microsoft) and the Community.&#160; Targeting Silverlight 4, HVP takes advantage of the MEF framework and is rooted in best development practices.&#160; Although the project is young, there is a lot of traction and Jesse is doing an amazing job of documenting each step.&#160; Keep on eye on HVP as this maybe the most scalable offering.</p>  <h3>Others</h3>  <p>The above three video players I have personally used, dug through the code, and/or evaluated.&#160; The following projects I am not as familiar with, but could be possible options for your scenario:</p>  <p><strong>Sharepoint video player</strong> - <a href="http://svp.codeplex.com/">http://svp.codeplex.com/</a></p>  <p><strong>Silverlight Media Player </strong><a href="http://silverlight30.codeplex.com/">http://silverlight30.codeplex.com/</a></p>  <p><strong>xLite player </strong>- <a href="http://xliteplayer.codeplex.com/">http://xliteplayer.codeplex.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/01/22/open-source-silverlight-video-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity 1.0 EventBroker Sample CAB Style</title>
		<link>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unity-10-eventbroker-sample-cab-style</link>
		<comments>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 06:55:52 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Patterns and Practices]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/</guid>
		<description><![CDATA[Ok so Unity 1.0 has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity IoC contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension. The Event [...]]]></description>
			<content:encoded><![CDATA[Ok so <a href="http://www.codeplex.com/unity">Unity 1.0</a> has shipped, or should I say the “Unity Application Block” as Microsoft is terming it now. However, in this post I am not going to talk about the Unity <a href="http://en.wikipedia.org/wiki/Inversion_of_Control">IoC</a> contain but a pretty cool peace of code that comes bundled with Unity’s QuickStart samples, the Event Broker Extension.

The Event Broker Extension QuickStart demonstrates how you can extend the Unity container by adding a custom extension. The QuickStart implements an Event Broker for the container as a container extension and demonstrates the new extension using the StopLight QuickStart application sample.

The Event Broker Extension QuickStart contains three projects:
<ul>
	<li><strong>EventBroker</strong>. This project implements a simple publish and subscribe mechanism that supports multiple event publishers and multiple subscribers.</li>
	<li><strong>EventBrokerExtension</strong>. This project implements the custom container extension that allows applications to publish and subscribe to events using attributes or explicitly using code.</li>
	<li><strong>StopLight</strong>. This project is basically the same as that described in the Unity StopLight QuickStart, but it uses the custom container extension to manage the publishing of, and subscription to, two events within the application.</li>
</ul>
Now, why is this Unity EventBroker interesting? Well, if you have ever worked with <a href="http://www.cabpedia.com/index.php?title=Composite_UI_Application_Block">CAB</a> (Composite UI Application Block) or <a href="http://www.cabpedia.com/index.php?title=Smart_Client_Software_Factory">SCSF</a> (Smart Client Software Factory) then you know one of its main pillars was the implementation of a nice Pub/Sub event subscription framework which Microsoft called Event Broker. This was one of the best things about CAB. Unfortunately with CAB it is an all or nothing deal. You really cannot use the CAB Event Broker without using the rest of the CAB underpinnings.

The Unity implementation of the Event Broker is similar to CABs so you should feel right at home if you have any experience with CAB or SCSF. The one huge benefit is that the Unity Event Broker can easily be integrated into any existing WinForm or WPF application where you would like an easy to manage Event bus to handle all your event traffic.

It really is easy to implement, lets take a look at what you need to do in order to integrate the Unity based Event Broker into your application.

1) Download <a href="http://www.codeplex.com/unity">Unity 1.0</a> install it and unzip the “Unity QuickStart” package found in the Unity start menu installation path.

2) Compile the EventBrokerExtention and SimpleEventBroker projects.  Then grab the following DLLs found in the EventBrokerExtention bin folder and reference them in your application.
  EventBrokerExtension.dll
  SimpleEventBroker.dll
  Microsoft.Practices.ObjectBuilder2.dll
  Microsoft.Practices.Unity.dll

3) Now open your WinForm application and modify your entry point usually the Program.cs file which in my demo calls the FormMain.cs using a Unity Container like so.
<pre class="csharpcode"><span class="kwrd">using</span> System; 
<span class="kwrd">using</span> System.Collections.Generic; 
<span class="kwrd">using</span> System.Linq; 
<span class="kwrd">using</span> System.Windows.Forms; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> Microsoft.Practices.Unity; 

<span class="kwrd">namespace</span> SampleWinApp 
{ 
    <span class="kwrd">static</span> <span class="kwrd">class</span> Program 
    { 
        <span class="rem">/// &lt;summary&gt;</span> 
        <span class="rem">/// The main entry point for the application.</span> 
        <span class="rem">/// &lt;/summary&gt;</span> 
        [STAThread] 
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(<span class="kwrd">false</span>); 

            <span class="rem">// Create parent container</span> 
            IUnityContainer mainContainer = <span class="kwrd">new</span> UnityContainer() 
                  .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 

            Application.Run(mainContainer.Resolve&lt;FormMain&gt;()); 
        } 
    } 
}</pre>
The important thing to notice is that I have wired up the EventBrokerExtention class through the Unity AddNewExtention method.  This will cause all the Events that are properly decorated with the correct attributes to be automatically registered in the EventBroker or SimpleEventBroker class.

You will also want to go and modified all the areas in your code where you are opening other forms to use a Unity container as well.  Here is an example opening a Form called FromA.cs 
<pre class="csharpcode"><span class="rem">//Create container</span> 
IUnityContainer myContainer = <span class="kwrd">new</span> UnityContainer() 
           .AddNewExtension&lt;EventBrokerBusExtension&gt;(); 
<span class="rem">//Open Form</span> 
FormA newForm = myContainer.Resolve&lt;FormA&gt;(); 
newForm.Show();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Oh, make sure you import the proper libraries on all your forms.
<pre class="csharpcode"><span class="kwrd">using</span> Microsoft.Practices.Unity; 
<span class="kwrd">using</span> EventBrokerExtension; 
<span class="kwrd">using</span> SimpleEventBroker;</pre>
Now you need to setup all the Event publications and triggers. Let’s start simple, say we have a button on our FormMain that is used to force a data refresh in your application. You would need to add a publish event to your page like so.
<pre class="csharpcode"><span class="rem">//Using an attribute register an event in the EventBroker</span> 
[Publishes(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">event</span> EventHandler RefreshData ; 
<span class="rem">//Method you will call to trigger the event in the EventBroker </span> 
<span class="kwrd">public</span> <span class="kwrd">virtual</span> <span class="kwrd">void</span> OnRefreshDataChange(<span class="kwrd">object</span> sender, EventArgs ea) 
{ 
    EventHandler handlers = RefreshData ; 
    <span class="kwrd">if</span> (handlers != <span class="kwrd">null</span>) 
    { 
        handlers(<span class="kwrd">this</span>, EventArgs.Empty); 
    } 
}</pre>
On your button click trigger the event like so.
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">void</span> buttonRefresh_Click(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
    <span class="rem">//Trigger your event </span> 
    OnRefreshDataChange(<span class="kwrd">this</span>, e); 
}</pre>
Now you need to setup all your Event subscriptions, this is supper easy.  You will need to create a method on all the forms in your application that will handle your refresh command i.e. implements the functionality you wish for each form or control in your application.  So far in this contrived example I have two forms FormMain and FormA.  You would add a method like so to each page.    
<pre class="csharpcode">[SubscribesTo(<span class="str">"RefreshData"</span>)] 
<span class="kwrd">public</span> <span class="kwrd">void</span> OnRefreshDataFired(<span class="kwrd">object</span> sender, EventArgs e) 
{ 
         <span class="rem">//Do something, we need to do a data refresh</span> 
}</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>Now anytime the RefreshData button is pushed the event is fired and all objects subscribed to that event in the EventBroker will be triggered. 

One important step you will want to do is unregister your subscribed events every time a modal form is closed.  Remember we are using the Unity IoC container to open a form which automatically registers all publisher and subscriber event handles on form_load (opened). 
<pre class="csharpcode"><span class="rem">// Unregister your subscription to help prevent runtime errors</span> 
<span class="kwrd">private</span> <span class="kwrd">void</span> FormA_FormClosing(<span class="kwrd">object</span> sender, FormClosingEventArgs e) 
{ 
     EventBroker myEB = <span class="kwrd">new</span> EventBroker(); 
     myEB.UnregisterSubscriber(<span class="str">"RefreshData"</span>, OnRefreshDataFired); 
}</pre>
That is about it, I used this to clean up an old legacy application that had Window events thrown everywhere.  The SimpleEventBroker class has several methods you can use to monitor what is going on inside the EventBroker such as GetPublisher, GetSubscribers, etc.

Oh, in my implementation I modified the Dictionary in the SimpleEventBroker class which holds the registered published events to be static, makes it easier if you have lots of modal forms, just make sure the Keys (string values) are unique.
<pre class="csharpcode">

<span class="kwrd">public</span> <span class="kwrd">class</span> EventBroker 
    { 
        <span class="kwrd">private</span> <span class="kwrd">static</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt; eventPublishers  

        = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, PublishedEvent&gt;();</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/09/unity-10-eventbroker-sample-cab-style/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Castle Windsor vs writing your own</title>
		<link>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=castle-windsor-vs-writing-your-own</link>
		<comments>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:18:57 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/</guid>
		<description><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent Castle Windsor in this case). I was just baffled to hear such statements. The argument for writing your own container was simplicity and the learning [...]]]></description>
			<content:encoded><![CDATA[Earlier this week I was in a meeting were someone stated that it was better to write your own IOC container than just using an existing one (the most excellent <a TARGET="_blank" HREF="http://www.castleproject.org/container/index.html">Castle Windsor</a> in this case). I was just baffled to hear such statements.

The argument for writing your own container was simplicity and the learning curve for new developers on the team. I strongly disagree.

I can't think of anything simpler than downloading an existing IOC container that has a near flat-line learning curve, like the Castle Windsor container. About a year ago, I introduced it into <a TARGET="_blank" HREF="http://elegantcode.com/2008/04/04/about-the-members-of-my-team/">the team</a>. No learning problems whatsoever. Just read <a TARGET="_blank" HREF="http://www.ayende.com/Blog/archive/2007/05/03/Windsor-Patterns.aspx">two blog posts</a> about it and you are on your way

But the main reason I disagree is that I strongly believe that we have to provide business value instead of writing <a TARGET="_blank" HREF="http://vanryswyckjan.blogspot.com/2007/12/why-o-why.html">yet-another-IOC-container</a>. We have to solve the problems of our customers. They simply don't care about IOC containers.

<a TARGET="_blank" HREF="http://www.hanselman.com/blog/">Scott Hanselman</a> has a nice <a TARGET="_blank" HREF="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx">list of Dependency Injection Containers</a>. Pick, choose and get over it!]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/04/castle-windsor-vs-writing-your-own/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inline XML Code Documentation using Sandcastle</title>
		<link>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inline-xml-code-documentation-using-sandcastle</link>
		<comments>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:12:11 +0000</pubDate>
		<dc:creator>Scott Nichols</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/</guid>
		<description><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents. For those [...]]]></description>
			<content:encoded><![CDATA[Is it me, or have many people/projects stopped creating good API documentation via Inline XML comments in their source code.  A couple of years ago when nDoc was in full swing it seemed to be taboo if you did not markup your source code with good XML Comments and generate accompanied API documents.

For those of you who many be asking what is he talking about, Inline XML comments in your source?  Well, that would be (in C#) all those /// comments you see from time to time in source code like so.
<pre style="width: 100%; height: 297px" class="csharpcode"><span class="kwrd">namespace</span> TestNamespace 
{ 
<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Tests whether sandcastle can handle all c# tags as defined at </span> 
<span class="rem">///    http://msdn2.microsoft.com/en-us/library/5ast78ax.aspx. </span> 
<span class="rem">///    Comments of method "Increment (int step)" include almost all tags. </span> 
<span class="rem">///    Method "Swap" is used to test generics tags, such as "typeparam". </span> 
<span class="rem">///    &lt;threadsafety static="true" instance="false"/&gt; </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
[Serializable()] 
<span class="kwrd">public</span> <span class="kwrd">class</span> StoredNumber 
{  

<span class="rem">/// &lt;summary&gt; </span> 
<span class="rem">///    Initializes the stored number class with a starting value. </span> 
<span class="rem">/// &lt;/summary&gt; </span> 
<span class="kwrd">public</span> StoredNumber( <span class="kwrd">int</span> <span class="kwrd">value</span> ) 
{ number = <span class="kwrd">value</span>; }</pre>
<style type="text/css">    .csharpcode, .csharpcode pre  {  	font-size: small;  	color: black;  	font-family: consolas, "Courier New", courier, monospace;  	background-color: #ffffff;  	/*white-space: pre;*/  }  .csharpcode pre { margin: 0em; }  .csharpcode .rem { color: #008000; }  .csharpcode .kwrd { color: #0000ff; }  .csharpcode .str { color: #006080; }  .csharpcode .op { color: #0000c0; }  .csharpcode .preproc { color: #cc6633; }  .csharpcode .asp { background-color: #ffff00; }  .csharpcode .html { color: #800000; }  .csharpcode .attr { color: #ff0000; }  .csharpcode .alt   {  	background-color: #f4f4f4;  	width: 100%;  	margin: 0em;  }  .csharpcode .lnum { color: #606060; }</style>However today, I have noticed that many open source projects and a good share of commercial applications do not bother marking up their source code with XML comments. Maybe one contributing factor is that nDoc died, ok you can still download version 1.3 but it is over two years old now and Microsoft’s answer to this solution Sandcastle is not quite as snazzy as nDoc was i.e. Command-line interface, or maybe propel are just not aware of their options. 

The following information outlines what you need to install so you can create proper Inline API (MSDN-style) documentation.  Here is a list of programs you need to install.

<strong>Sandcastle:

</strong>Microsoft home page for <a href="http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx">Sandcastle</a>

You can download it from CodePlex <a href="http://www.codeplex.com/Sandcastle">http://www.codeplex.com/Sandcastle</a>

Sandcastle, created by Microsoft, is a free tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comment files. It is command-line based and has no GUI front-end, project management features, or an automated build process

<strong>SHFB (Sandcastle Help File Builder):</strong>

You can download SHFB from CodePlex <a href="http://www.codeplex.com/SHFB">http://www.codeplex.com/SHFB</a>

SHFB is a GUI interface that almost looks identical to the NDoc interface so anyone familiar with NDoc should be quite comfortable using it.  It uses the underlining Sandcastle API to generate an HTML 1.x (.CHM) file, an HTML 2.x (.HxS) file, and/or a web site.

SHFB Requirements

In order to use SHFB you will need the following:

- The .NET 2.0 Framework

- The latest version of Sandcastle. 
- The HTML Help Workshop for building HTML Help 1.x (.CHM) help files

- The HTML 2.x compiler for building HTML Help 2.x (.HxS) help files

You can obtain the HTML builders by installing the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=30402623-93ca-479a-867c-04dc45164f5b&amp;displaylang=en">Visual Studio 2008 SDK</a> these are the latest builds.

<strong>XML Documentation Comments Guide:</strong>

Home page <a href="http://www.dynicity.com/downloads/default.aspx">http://www.dynicity.com/downloads/default.aspx</a>

Download the “Windows Installer” at <a href="http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe">http://www.dynicity.com/downloads/XMLDocCommentsGuide.exe</a>

This is a help file with a very nice collection of information on how to use XML Comment tags properly in your source code, it has lots of links to some good tutorials and examples. 

<strong>DocProject for 2008:</strong>

Home page from CodePlex for <a href="http://www.codeplex.com/DocProject/Release/ProjectReleases.aspx?ReleaseId=8231">DocProject</a>

DocProject drives the Sandcastle help generation tools using the power of Visual Studio 2005/2008 and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output.

<strong>Example Links</strong><strong>:</strong>

.NET Documentation Guidelines (version 2.5)

<a href="http://p3net.mvps.org/downloads/docs/DocGuidelines.doc">http://p3net.mvps.org/downloads/docs/DocGuidelines.doc</a> 

XML Documentation in C# (Anson Horton, C# Compiler Program Manager)

<a href="http://cyrino.members.winisp.net/9112006/XMLDocs.doc">http://cyrino.members.winisp.net/9112006/XMLDocs.doc</a>

C# XML Documentation (Alan Dean)

<a href="http://thoughtpad.net/alan-dean/cs-xml-documentation.html">http://thoughtpad.net/alan-dean/cs-xml-documentation.html</a>

<a href="http://www.codeproject.com/KB/XML/csharpcodedocumentation.aspx?df=100&amp;forumid=201254&amp;exp=0&amp;select=1237919">C# and XML Source Code Documentation</a>

<a href="http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp">Documenting C# source code with XML Comments</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/inline-xml-code-documentation-using-sandcastle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A New NHibernate Blog</title>
		<link>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-new-nhibernate-blog</link>
		<comments>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 15:26:32 +0000</pubDate>
		<dc:creator>Alex Mueller</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/</guid>
		<description><![CDATA[Craig Neuwirt recently started a blog focused on NHibernate, as mentioned by Ayende. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and [...]]]></description>
			<content:encoded><![CDATA[<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a> recently started a blog focused on <a target="_blank" href="http://www.nhibernate.org/" title="NHibernate">NHibernate</a>, as mentioned by <a target="_blank" href="http://www.ayende.com/Blog/" title="Ayende">Ayende</a>. NHibernate is an ORM tool I have used on current and past projects and it is something I feel I would like I want to study further. So far, Craig is walking us through NHibernate from the ground-up, with the latest and greatest. I anticipate this being an informative <a target="_blank" href="http://blogs.hibernatingrhinos.com" title="http://blogs.hibernatingrhinos.com">blog</a> to follow.

<a target="_blank" href="http://blogs.hibernatingrhinos.com/nhibernate" title="The NHibernate FAQ">The NHibernate FAQ</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/Craig" title="Craig Neuwirt">Craig Neuwirt</a>
<a target="_blank" href="http://blogs.hibernatingrhinos.com/" title="Hibernating Rhinos">Hibernating Rhinos</a>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/01/a-new-nhibernate-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Windows Guy on a MacBook Pro</title>
		<link>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-windows-guy-on-a-macbook-pro</link>
		<comments>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 05:09:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/</guid>
		<description><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade. I have to [...]]]></description>
			<content:encoded><![CDATA[This post is coming from yet another blog client. The difference with this one and the others I have tried is that this blog client is running on OS X. My handy-dandy new MacBook Pro is humming right along, even though computermemoryoutlet.com sent me the wrong RAM sticks for my 4G upgrade.

I have to admit that even though my plans for this machine are all about getting Windows Vista installed as soon as my Leopard CDs arrive, this OS X thing is intriguing. Although it is frustrating not knowing my way around as I o in Windows, the obvious beauty and attention to aesthetic are really nice to work with. Frankly, the darn windows are just nice to look at.

I want to make it perfectly clear before I go into the next part of this article that I did not buy this machine for the OS X capabilities, although I am giving them due diligence. I bought the machine for the hardware performance and unparalleled form factor. Frankly, it is one of the most beautiful pieces of hardware I have ever seen and I don't regret it a bit.

That said, all is not  perfect in MacVille. I am pretty used to hearing all about how Macs kick chicken and OSX is the greatest thing since peanut butter, so let me offer some observations.

When I tried joining my wireless network I had the stupidest issue I can imagine. The network connection utility kept telling my my password was wrong. I double and triple checked it. I even plugged in a wire and then copied and pasted the password from my router's management screen. No dice. Ultimately I learned somewhere in the bowels of a newsgroup that when you are inputting a hex password you must prefix that password with a $ dollar sign as a signal to the connection gods that your password is in hex. What the...? That is the weirdest thing I have ever heard of. My mom would never have gotten that to work.

Next, Apple is making this great play with BootCamp, the revolutionary dual booting technology that Windows users have enjoyed for the last 10 years? Well anyway, what you don't get with OSX is virtualization software. Or baked in remote desktop technology. Or 2 mouse pad buttons on the touchpad when right-click is a feature of the Apple OS (I simply don't understand that one).

I can't believe I am saying this, but I am getting the idea that it is cheaper to outfit a Windows machine with all the software you need. There is so darn much Windows software in the world, much of it open source or freeware. I could run all the same Java applications on both platforms, but I just have to have Visual Studio, Live Writer, Enterprise Architect, TextPad, and several other things that go along with the MS stack.

Non of this really matters, of course, because the reason I got this machine was to run Windows like a flaming pig runs downhill. Since Apple understandably pulled BootCamp from beta in preparation for the Leopard launch Friday I will have to tell you how that goes sometime next week. Once my Leopard upgrade arrives I will get Vista on here. Now there is some irony for you.

My last OSX comment of the day? This thing is prettier than a bag of redheads. I could get used to it if I'm not careful. After all, I can type ls on the command line for the first time since college.]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/10/23/a-windows-guy-on-a-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Licensing for .Net Portal Frameworks</title>
		<link>http://elegantcode.com/2007/09/10/open-source-licensing-for-net-portal-frameworks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-source-licensing-for-net-portal-frameworks</link>
		<comments>http://elegantcode.com/2007/09/10/open-source-licensing-for-net-portal-frameworks/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 18:05:35 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=647</guid>
		<description><![CDATA[I am currently&#160;casting about for at open source web portal frameworks written in .Net. I would like my first concern to be the architecture&#160;of the UI plug-in modules, security providers, and data models. Unfortunately, it looks like my first concern must first be the license model of the software. To be fair, I am looking [...]]]></description>
			<content:encoded><![CDATA[<p></p> <p>I am currently&nbsp;casting about for at open source web portal frameworks written in .Net. I would like my first concern to be the architecture&nbsp;of the UI plug-in modules, security providers, and data models. Unfortunately, it looks like my first concern must first be the license model of the software. To be fair, I am looking to embed this software in a for-profit, redistributable, and re-branded application.</p> <p>There is actually very little to complain about with free software even if it is <a href="http://www.dr-chuck.com/csev-blog/000217.html" target="_blank">free like a puppy</a>.</p> <p>So, what license is the most conducive to an embedding scenario? I don't know. I will have to get someone in legal to start to plow through these things, I think. Any feedback on your experiences would be most appreciated.</p> <table cellspacing="0" cellpadding="2" width="400" border="1" unselectable="on"> <tbody> <tr> <td valign="top" width="122"><strong>Portal Framework</strong></td> <td valign="top" width="522"><strong>License Information</strong></td></tr> <tr> <td valign="top" width="122">DotNetNuke</td> <td valign="top" width="522">FreeBSD</td></tr> <tr> <td valign="top" width="122">Rainbow Portal</td> <td valign="top" width="522">GNU General Public License (GPL)</td></tr> <tr> <td valign="top" width="122">Mojo</td> <td valign="top" width="522">Common Public License (CPL)</td></tr> <tr> <td valign="top" width="122">Umbraco</td> <td valign="top" width="522">MIT License</td></tr></tbody></table> <p>Any other frameworks you suggest, by the way?</p> <div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:ec8b3ed0-b1f3-4ccd-8414-2b1f5555f31f" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/DNN" rel="tag">DNN</a>, <a href="http://technorati.com/tags/Mojo" rel="tag">Mojo</a>, <a href="http://technorati.com/tags/Umbraco" rel="tag">Umbraco</a>, <a href="http://technorati.com/tags/Rainbow%20Portal" rel="tag">Rainbow Portal</a>, <a href="http://technorati.com/tags/Open%20Source%20Software" rel="tag">Open Source Software</a></div>]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/09/10/open-source-licensing-for-net-portal-frameworks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

