<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 Forums - Coffeehouse - http://plugins.codeplex.com</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Forums/rss"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 Forums - Coffeehouse - http://plugins.codeplex.com</title>
		<link>http://channel9.msdn.com/Forums</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Forums</link>
	<language>en</language>
	<pubDate>Sun, 19 May 2013 12:34:08 GMT</pubDate>
	<lastBuildDate>Sun, 19 May 2013 12:34:08 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>32</c9:totalResults>
	<c9:pageCount>-32</c9:pageCount>
	<c9:pageSize>-1</c9:pageSize>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><font size="1"><font size="1">Everyone welcome to see my code for Parallel alternative, XML serializationalternative and MEF alternative at</font></font></p>
<p><font size="1"><font size="1"><a href="<a href="http://plugins.codeplex.com">http&#58;&#47;&#47;plugins.codeplex.com</a>/"><a href="http://plugins.codeplex.com">http&#58;&#47;&#47;plugins.codeplex.com</a></a></font></font></p>
<p></p>
<div class="cf">
<pre class="cl">&nbsp; &nbsp; <span class="cb1">public</span> <span class="cb1">class</span> <span class="cb2">PluginWorkItem</span>&lt;T&gt; : <span class="cb2">IPluginWorkItem</span></pre>
<pre class="cl">&nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">volatile</span> <span class="cb1">bool</span> _isRunning;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb2">List</span>&lt;<span class="cb2">PluginThreadSafeStack</span>&lt;T&gt;&gt; _data;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">volatile</span> <span class="cb1">int</span> _dataCount = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb2">BackgroundWorker</span> _mainThread;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">void</span> PushData(T item, <span class="cb1">int</span> threadID)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_dataCount &gt; 0)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _dataCount--;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _data[threadID].Push(item);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> T PopData(<span class="cb1">int</span> threadID)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> _data[threadID].Pop();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">void</span> PushData(T item)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_dataCount &gt; 0)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _dataCount--;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _data[GetMinIndex(GetThreadCount())].Push(item);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">int</span> GetDataCount()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> _dataCount;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> T PopData()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> _data[GetMaxIndex(GetThreadCount())].Pop();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">int</span> GetThreadCount()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (ThreadCount &gt; 0 &amp;&amp; ThreadCount &lt; 64)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> threadCount = ThreadCount &gt; <span class="cb2">Environment</span>.ProcessorCount ? <span class="cb2">Environment</span>.ProcessorCount : ThreadCount;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> threadCount;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> 1;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">int</span> ThreadCount { <span class="cb1">get</span> { <span class="cb1">return</span> <span class="cb2">Environment</span>.ProcessorCount; } }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">int</span> DataCount { <span class="cb1">get</span> { <span class="cb1">return</span> 0; } }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">void</span> ProcessItem(<span class="cb1">int</span> threadID)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> threadCount = GetThreadCount();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">bool</span> useDataCount = DataCount &gt; 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; T item;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">do</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (!IsRunning) <span class="cb1">return</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; item = PopData();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (item != <span class="cb1">null</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (!IsRunning) <span class="cb1">return</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ProcessData(item<span class="cb3">/*, threadID*/</span>);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <span class="cb1">while</span> (!<span class="cb1">object</span>.Equals(item, <span class="cb1">default</span>(T)));</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">void</span> ProcessData(T item<span class="cb3">/*, int threadID*/</span>) { }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">void</span> InitializeData() { }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">void</span> InitializeThreadPoolData()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> threadCount = GetThreadCount();</pre>
<pre class="cl">&nbsp;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">this</span>._waitHandles = <span class="cb1">new</span> <span class="cb2">WaitHandle</span>[threadCount];</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; threadCount; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _waitHandles[i] = <span class="cb1">new</span> <span class="cb2">AutoResetEvent</span>(<span class="cb1">false</span>);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">this</span>._data = <span class="cb1">new</span> <span class="cb2">List</span>&lt;<span class="cb2">PluginThreadSafeStack</span>&lt;T&gt;&gt;(threadCount);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; threadCount; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _data.Add(<span class="cb1">new</span> <span class="cb2">PluginThreadSafeStack</span>&lt;T&gt;());</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _dataCount = DataCount;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeData();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; T item = <span class="cb1">default</span>(T); <span class="cb3">//PopData();</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb3">//if (item != null)</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb3">//{</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb3">//&nbsp; &nbsp; ProcessData(item/*, 0*/);</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb3">//}</span></pre>
<pre class="cl">&nbsp;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (threadCount &gt; 1)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> count = threadCount;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> loop = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (; loop &lt; count; )</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">while</span> (_data[loop].Count == 0 &amp;&amp; count &gt; 1)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count--;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; loop&#43;&#43;;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (count &lt; threadCount)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; item = PopData(0);</pre>
<pre class="cl">&nbsp;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; (i &#43; 1) &lt; threadCount &amp;&amp; !<span class="cb1">object</span>.Equals(item, <span class="cb1">default</span>(T)); )</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> offset = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">do</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ProcessData(item<span class="cb3">/*, i &#43; offset &#43; 1*/</span>);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; item = PopData(GetMaxIndex(i &#43; offset &#43; 2));</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offset&#43;&#43;;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">while</span> ((i &#43; offset &#43; 1) &lt; threadCount &amp;&amp; !<span class="cb1">object</span>.Equals(item, <span class="cb1">default</span>(T)));</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count = i &#43; offset &#43; 1;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; loop = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (; loop &lt; count; )</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">while</span> (_data[loop].Count == 0 &amp;&amp; count &gt; 1)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _data.RemoveAt(loop);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _data.Add(<span class="cb1">new</span> <span class="cb2">PluginThreadSafeStack</span>&lt;T&gt;());</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count--;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; loop&#43;&#43;;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (count == threadCount)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">break</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; item = PopData(GetMaxIndex(loop));</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i = count - 1;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; threadCount - 1; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_data[i &#43; 1].Count &gt; 0 &amp;&amp; _data[i].Count == 0)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">throw</span> <span class="cb1">new</span> <span class="cb2">InvalidProgramException</span>();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">void</span> Run()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> threadCount = GetThreadCount();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; threadCount; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb2">ThreadPool</span>.QueueUserWorkItem(<span class="cb1">new</span> <span class="cb2">WaitCallback</span>(ProcessHandle), i);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">int</span> GetMaxIndex(<span class="cb1">int</span> index)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> max = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> maxIndex = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; index; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_data[i].Count &gt; max)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; max = _data[i].Count;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; maxIndex = i;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> maxIndex;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">int</span> GetMinIndex(<span class="cb1">int</span> index)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> min = <span class="cb1">int</span>.MaxValue;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> minIndex = 0;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">for</span> (<span class="cb1">int</span> i = 0; i &lt; index; i&#43;&#43;)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_data[i].Count &lt; min)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; min = _data[i].Count;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; minIndex = i;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> minIndex;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb1">void</span> ProcessHandle(<span class="cb1">object</span> sync)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">int</span> threadID = (<span class="cb1">int</span>)sync;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb2">AutoResetEvent</span> waitHandle = (<span class="cb2">AutoResetEvent</span>)_waitHandles[threadID];</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (IsRunning)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ProcessItem(threadID);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; waitHandle.Set();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb3">//MessageBox.Show(DateTime.Now.ToString());</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">bool</span> IsRunning</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">get</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> _isRunning;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl"><span class="cb1">&nbsp; &nbsp; &nbsp; &nbsp; #region</span> IWorkItem Members</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">private</span> <span class="cb2">WaitHandle</span>[] _waitHandles;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">void</span> Initialize()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">protected</span> <span class="cb1">virtual</span> <span class="cb1">void</span> Terminate()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">void</span> <span class="cb2">IPluginWorkItem</span>.Run()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_mainThread == <span class="cb1">null</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _isRunning = <span class="cb1">true</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread = <span class="cb1">new</span> <span class="cb2">BackgroundWorker</span>();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread.DoWork &#43;= (<span class="cb1">object</span> sender, <span class="cb2">DoWorkEventArgs</span> e) =&gt;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Initialize();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeThreadPoolData();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Run();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb2">WaitHandle</span>.WaitAll(_waitHandles);</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Terminate();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_mainThread != <span class="cb1">null</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread = <span class="cb1">null</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _isRunning = <span class="cb1">false</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread.WorkerSupportsCancellation = <span class="cb1">true</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread.RunWorkerAsync();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">bool</span> <span class="cb2">IPluginWorkItem</span>.IsRunning</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">get</span></pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">return</span> _isRunning;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">void</span> <span class="cb2">IPluginWorkItem</span>.Terminate()</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">lock</span> (<span class="cb1">this</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Terminate();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cb1">if</span> (_mainThread != <span class="cb1">null</span>)</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread.CancelAsync();</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _mainThread = <span class="cb1">null</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _isRunning = <span class="cb1">false</span>;</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl">&nbsp; &nbsp; &nbsp; &nbsp; }</pre>
<pre class="cl"><span class="cb1">&nbsp; &nbsp; &nbsp; &nbsp; #endregion</span></pre>
<pre class="cl">&nbsp; &nbsp; }</pre>
</div>
<p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/475211#475211</link>
		<pubDate>Tue, 23 Jun 2009 19:45:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/475211#475211</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>Umm yea, right. Why exactly?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/b2fdd3ca59b34e57be049deb00e341dd#b2fdd3ca59b34e57be049deb00e341dd</link>
		<pubDate>Tue, 23 Jun 2009 19:49:39 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/b2fdd3ca59b34e57be049deb00e341dd#b2fdd3ca59b34e57be049deb00e341dd</guid>
		<dc:creator>blowdart</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/blowdart/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>YAY! just what I wanted.. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-8.gif' alt='Expressionless' /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0215acfe187b49e080e29deb00e3423e#0215acfe187b49e080e29deb00e3423e</link>
		<pubDate>Tue, 23 Jun 2009 20:06:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0215acfe187b49e080e29deb00e3423e#0215acfe187b49e080e29deb00e3423e</guid>
		<dc:creator>stevo_</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/stevo_/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">stevo_ said:</div><div class="quoteText">
<p>YAY! just what I wanted.. <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-8.gif" alt="Expressionless"></p>
</div></blockquote>
<p>I;m preparing samples (just like futures .NET 4.0)</p>
<p>I can nave you a boost //So i'm currently working on a Pi calculation example.</p>
<p>In a lighting&nbsp;sample,&nbsp;you can take use of parallelism in programs like below (working&nbsp;sudoku generator):</p>
<p>&nbsp;</p>
<pre><div><div><p>&nbsp;&nbsp;&nbsp; public abstract class PluginBaseWorkItem&lt;T&gt;</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private static object _sync = new object();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private T _item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public T Item { get { return _item; } }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void Run()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List&lt;WaitHandle&gt; _waitHandles = new List&lt;WaitHandle&gt;();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; TaskCount; i&#43;&#43;)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _waitHandles.Add(new AutoResetEvent(false));</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; TaskCount; i&#43;&#43;)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessHandle), _waitHandles[i]);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WaitHandle.WaitAll(_waitHandles.ToArray());</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected abstract void ProcessItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected void SetValue(T item)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _item = item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected T GetValue()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return _item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected virtual int TaskCount { get { return Environment.ProcessorCount; } }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void Process()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ProcessItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void ProcessHandle(object sync)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AutoResetEvent waitHandle = (AutoResetEvent)sync;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Process();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; waitHandle.Set();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; }</p></div></div><pre>&nbsp;</pre>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private class WorkItem : PluginBaseWorkItem&lt;Puzzle&gt;</p>
<pre><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected override void ProcessItem()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DlxEngine engine = new DlxEngine();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Puzzle value = engine.Generate(20);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lock (this)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Puzzle item = GetValue();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (item == null || value.Rating &gt; item.Rating)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SetValue(value);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public static IPuzzle Create()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WorkItem workItem = new WorkItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workItem.Run();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPuzzle puzzle = workItem.Item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return Create(puzzle.Text, puzzle.Seed);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p></pre>
</pre></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/4b053e6398f34197a2f49deb00e342af#4b053e6398f34197a2f49deb00e342af</link>
		<pubDate>Tue, 23 Jun 2009 20:15:29 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/4b053e6398f34197a2f49deb00e342af#4b053e6398f34197a2f49deb00e342af</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">stevo_ said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I;m preparing samples (just like futures .NET 4.0)</p>
<p>I can nave you a boost //So i'm currently working on a Pi calculation example.</p>
<p>In a lighting&nbsp;sample,&nbsp;you can take use of parallelism in programs like below (working&nbsp;sudoku generator):</p>
<p>&nbsp;</p>
<pre><div><div><p>&nbsp;&nbsp;&nbsp; public abstract class PluginBaseWorkItem&lt;T&gt;</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private static object _sync = new object();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private T _item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public T Item { get { return _item; } }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void Run()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; List&lt;WaitHandle&gt; _waitHandles = new List&lt;WaitHandle&gt;();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; TaskCount; i&#43;&#43;)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _waitHandles.Add(new AutoResetEvent(false));</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; TaskCount; i&#43;&#43;)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessHandle), _waitHandles[i]);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WaitHandle.WaitAll(_waitHandles.ToArray());</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected abstract void ProcessItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected void SetValue(T item)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _item = item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected T GetValue()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return _item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected virtual int TaskCount { get { return Environment.ProcessorCount; } }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void Process()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ProcessItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void ProcessHandle(object sync)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AutoResetEvent waitHandle = (AutoResetEvent)sync;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Process();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; waitHandle.Set();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; }</p></div></div><pre>&nbsp;</pre>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private class WorkItem : PluginBaseWorkItem&lt;Puzzle&gt;</p>
<pre><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protected override void ProcessItem()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DlxEngine engine = new DlxEngine();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Puzzle value = engine.Generate(20);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lock (this)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Puzzle item = GetValue();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (item == null || value.Rating &gt; item.Rating)</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SetValue(value);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public static IPuzzle Create()</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WorkItem workItem = new WorkItem();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workItem.Run();</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPuzzle puzzle = workItem.Item;</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return Create(puzzle.Text, puzzle.Seed);</p><p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p></pre>
</pre>
</div></blockquote>
<p>So what you've go is a wrapper around the thread pool. And this replaces MEF how exactly?</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/4cab448e8aba489cadab9deb00e342e7#4cab448e8aba489cadab9deb00e342e7</link>
		<pubDate>Tue, 23 Jun 2009 20:19:05 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/4cab448e8aba489cadab9deb00e342e7#4cab448e8aba489cadab9deb00e342e7</guid>
		<dc:creator>blowdart</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/blowdart/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">blowdart said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>So what you've go is a wrapper around the thread pool. And this replaces MEF how exactly?</p>
</div></blockquote>
<p>Due to the luck of free scree space i can not post whole sources from <a href="http://plugins.codeplex.com">
http://plugins.codeplex.com</a></p>
<p>Other stuff like dynamic&nbsp;domain loading / unloading, calling code form another domain etc. there.</p>
<p>I'm working on examples <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/a54a2978a073417b870a9deb00e3434b#a54a2978a073417b870a9deb00e3434b</link>
		<pubDate>Tue, 23 Jun 2009 20:34:26 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/a54a2978a073417b870a9deb00e3434b#a54a2978a073417b870a9deb00e3434b</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">blowdart said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Due to the luck of free scree space i can not post whole sources from <a href="http://plugins.codeplex.com">
http://plugins.codeplex.com</a></p>
<p>Other stuff like dynamic&nbsp;domain loading / unloading, calling code form another domain etc. there.</p>
<p>I'm working on examples <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif" alt="Wink"></p>
</div></blockquote>
<p>Keep up the work! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> Try to evaluate on each piece of code that it really adds more than just a wrapper. Your multithreading stuff is a nice idea but the Parallel FX adds a lot more than just a wrapper around the ThreadPool!</p>
<p>I don't know if you have seen these two videos. They explain some of the ideas that have been implemented in the Parallel FX:</p>
<p><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-1/">http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-1/</a><br>
<a href="http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-2/">http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-2/</a></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0bb093632cf04e608b9c9deb00e343b7#0bb093632cf04e608b9c9deb00e343b7</link>
		<pubDate>Tue, 23 Jun 2009 20:37:34 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0bb093632cf04e608b9c9deb00e343b7#0bb093632cf04e608b9c9deb00e343b7</guid>
		<dc:creator>Christian Liensberger</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/littleguru/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">blowdart said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>So what you've go is a wrapper around the thread pool. And this replaces MEF how exactly?</p>
</div></blockquote>
<p>Does anybody can look into my profile?</p>
<p>I've go these:</p>
<p><span class="HTML_TXT"><span class="HTML_TAG">&lt;<span class="HTML_ELM">html</span>&gt;</span></span></p>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">head</span>&gt;</span></span></div>
<div class="SYN_ROW">
<div id="syn_row3" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">title</span>&gt;</span>The resource cannot be found.<span class="HTML_TAG">&lt;/<span class="HTML_ELM">title</span>&gt;</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="HTML_TAG">&lt;<span class="HTML_ELM">style</span>&gt;</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">body </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:
<span class="CSS_VAL">.7em</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;}
</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row6" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">p </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;<span class="CSS_PRO">margin-top</span>:
<span class="CSS_VAL">-5px</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row7" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">b </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">bold</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;<span class="CSS_PRO">margin-top</span>:
<span class="CSS_VAL">-5px</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row8" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">H1 </span>{ <span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:<span class="CSS_VAL">18pt</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">red
</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row9" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">H2 </span>{ <span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:<span class="CSS_VAL">14pt</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">maroon
</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row10" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">pre </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Lucida Console&quot;</span>;<span class="CSS_PRO">font-size</span>:
<span class="CSS_VAL">.9em</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row11" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.marker </span>{<span class="CSS_PRO">font-weight</span>: <span class="CSS_VAL">
bold</span>; <span class="CSS_PRO">color</span>: <span class="CSS_VAL">black</span>;<span class="CSS_PRO">text-decoration</span>:
<span class="CSS_VAL">none</span>;}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row12" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.version </span>{<span class="CSS_PRO">color</span>: <span class="CSS_VAL">
gray</span>;}</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.error </span>{<span class="CSS_PRO">margin-bottom</span>: <span class="CSS_VAL">
10px</span>;}</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.expandable </span>{ <span class="CSS_PRO">text-decoration</span>:<span class="CSS_VAL">underline</span>;
<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">bold</span>; <span class="CSS_PRO">
color</span>:<span class="CSS_VAL">navy</span>; <span class="CSS_PRO">cursor</span>:<span class="CSS_VAL">hand</span>; }</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row15" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">style</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row16" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;/<span class="HTML_ELM">head</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row18" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">body</span> <span class="HTML_ATR">bgcolor</span>=<span class="HTML_VAL">&quot;white&quot;</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">span</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">H1</span>&gt;</span>Server Error in '/' Application.<span class="HTML_TAG">&lt;<span class="HTML_ELM">hr</span>
<span class="HTML_ATR">width</span>=<span class="HTML_VAL">100%</span> <span class="HTML_ATR">
size</span>=<span class="HTML_VAL">1</span> <span class="HTML_ATR">color</span>=<span class="HTML_VAL">silver</span>&gt;</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">H1</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">h2</span>&gt;</span>
<span class="HTML_TAG">&lt;<span class="HTML_ELM">i</span>&gt;</span>The resource cannot be found.<span class="HTML_TAG">&lt;/<span class="HTML_ELM">i</span>&gt;</span>
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">h2</span>&gt;</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">span</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">font</span>
<span class="HTML_ATR">face</span>=<span class="HTML_VAL">&quot;Arial, Helvetica, Geneva, SunSans-Regular, sans-serif &quot;</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">b</span>&gt;</span> Description:
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">b</span>&gt;</span>HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.
<span class="HTML_CHA">&amp;nbsp;</span>Please review the following URL and make sure that it is spelled correctly.</span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row27" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">br</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">b</span>&gt;</span> Requested URL:
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">b</span>&gt;</span>/Niners/hack2roothotmai./<span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;/<span class="HTML_ELM">body</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row32" class="SYN_TXT"><span class="HTML_TXT"><span class="HTML_TAG">&lt;/<span class="HTML_ELM">html</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW"></div></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/2a857943ecd047c0a58c9deb00e3444a#2a857943ecd047c0a58c9deb00e3444a</link>
		<pubDate>Tue, 23 Jun 2009 20:37:41 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/2a857943ecd047c0a58c9deb00e3444a#2a857943ecd047c0a58c9deb00e3444a</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">blowdart said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Does anybody can look into my profile?</p>
<p>I've go these:</p>
<p><span class="HTML_TXT"><span class="HTML_TAG">&lt;<span class="HTML_ELM">html</span>&gt;</span></span></p>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">head</span>&gt;</span></span></div>
<div class="SYN_ROW">
<div id="syn_row3" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">title</span>&gt;</span>The resource cannot be found.<span class="HTML_TAG">&lt;/<span class="HTML_ELM">title</span>&gt;</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="HTML_TAG">&lt;<span class="HTML_ELM">style</span>&gt;</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">body </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:
<span class="CSS_VAL">.7em</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;}
</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row6" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">p </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;<span class="CSS_PRO">margin-top</span>:
<span class="CSS_VAL">-5px</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row7" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">b </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">bold</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">black</span>;<span class="CSS_PRO">margin-top</span>:
<span class="CSS_VAL">-5px</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row8" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">H1 </span>{ <span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:<span class="CSS_VAL">18pt</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">red
</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row9" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">H2 </span>{ <span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Verdana&quot;</span>;<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">normal</span>;<span class="CSS_PRO">font-size</span>:<span class="CSS_VAL">14pt</span>;<span class="CSS_PRO">color</span>:<span class="CSS_VAL">maroon
</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row10" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">pre </span>{<span class="CSS_PRO">font-family</span>:<span class="CSS_VAL">&quot;Lucida Console&quot;</span>;<span class="CSS_PRO">font-size</span>:
<span class="CSS_VAL">.9em</span>}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row11" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.marker </span>{<span class="CSS_PRO">font-weight</span>: <span class="CSS_VAL">
bold</span>; <span class="CSS_PRO">color</span>: <span class="CSS_VAL">black</span>;<span class="CSS_PRO">text-decoration</span>:
<span class="CSS_VAL">none</span>;}</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row12" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.version </span>{<span class="CSS_PRO">color</span>: <span class="CSS_VAL">
gray</span>;}</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.error </span>{<span class="CSS_PRO">margin-bottom</span>: <span class="CSS_VAL">
10px</span>;}</span></span></div>
<div class="SYN_TXT"><span class="HTML_TXT"></span><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="CSS_SEL">.expandable </span>{ <span class="CSS_PRO">text-decoration</span>:<span class="CSS_VAL">underline</span>;
<span class="CSS_PRO">font-weight</span>:<span class="CSS_VAL">bold</span>; <span class="CSS_PRO">
color</span>:<span class="CSS_VAL">navy</span>; <span class="CSS_PRO">cursor</span>:<span class="CSS_VAL">hand</span>; }</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row15" class="SYN_TXT"><span class="HTML_TXT"><span class="CSS_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">style</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row16" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;/<span class="HTML_ELM">head</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row18" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">body</span> <span class="HTML_ATR">bgcolor</span>=<span class="HTML_VAL">&quot;white&quot;</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">span</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">H1</span>&gt;</span>Server Error in '/' Application.<span class="HTML_TAG">&lt;<span class="HTML_ELM">hr</span>
<span class="HTML_ATR">width</span>=<span class="HTML_VAL">100%</span> <span class="HTML_ATR">
size</span>=<span class="HTML_VAL">1</span> <span class="HTML_ATR">color</span>=<span class="HTML_VAL">silver</span>&gt;</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">H1</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">h2</span>&gt;</span>
<span class="HTML_TAG">&lt;<span class="HTML_ELM">i</span>&gt;</span>The resource cannot be found.<span class="HTML_TAG">&lt;/<span class="HTML_ELM">i</span>&gt;</span>
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">h2</span>&gt;</span><span class="HTML_TAG">&lt;/<span class="HTML_ELM">span</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">font</span>
<span class="HTML_ATR">face</span>=<span class="HTML_VAL">&quot;Arial, Helvetica, Geneva, SunSans-Regular, sans-serif &quot;</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">b</span>&gt;</span> Description:
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">b</span>&gt;</span>HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.
<span class="HTML_CHA">&amp;nbsp;</span>Please review the following URL and make sure that it is spelled correctly.</span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row27" class="SYN_TXT"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">
&lt;<span class="HTML_ELM">br</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;<span class="HTML_ELM">b</span>&gt;</span> Requested URL:
<span class="HTML_TAG">&lt;/<span class="HTML_ELM">b</span>&gt;</span>/Niners/hack2roothotmai./<span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span><span class="HTML_TAG">&lt;<span class="HTML_ELM">br</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div class="SYN_LNB"><span class="HTML_TXT">&nbsp;&nbsp;&nbsp; <span class="HTML_TAG">&lt;/<span class="HTML_ELM">body</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW">
<div id="syn_row32" class="SYN_TXT"><span class="HTML_TXT"><span class="HTML_TAG">&lt;/<span class="HTML_ELM">html</span>&gt;</span></span></div>
</div>
<div class="SYN_ROW"></div>
</div></blockquote>
<p>That's because you have a . in your nickname... The website seems to have problems with it.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/55c86c4ea3024fb3a25c9deb00e344d8#55c86c4ea3024fb3a25c9deb00e344d8</link>
		<pubDate>Tue, 23 Jun 2009 20:41:23 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/55c86c4ea3024fb3a25c9deb00e344d8#55c86c4ea3024fb3a25c9deb00e344d8</guid>
		<dc:creator>Christian Liensberger</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/littleguru/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">littleguru said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Keep up the work! <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif" alt="Smiley"> Try to evaluate on each piece of code that it really adds more than just a wrapper. Your multithreading stuff is a nice idea but the Parallel
 FX adds a lot more than just a wrapper around the ThreadPool!</p>
<p>I don't know if you have seen these two videos. They explain some of the ideas that have been implemented in the Parallel FX:</p>
<p><a href="http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-1/">http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-1/</a><br>
<a href="http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-2/">http://channel9.msdn.com/shows/Going&#43;Deep/Inside-Parallel-Extensions-for-NET-2008-CTP-Part-2/</a></p>
</div></blockquote>
<p>Phankx, but, you know, all we (me, alone, and aall boys and girls form Parallel extensions) are doing well -</p>
<p>is just to write simple wrappers on wrappers&nbsp;for Win32 threads!!!</p>
<p>At least we are all frameworkers <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/382acafb90d542e4b7119deb00e34541#382acafb90d542e4b7119deb00e34541</link>
		<pubDate>Tue, 23 Jun 2009 20:41:44 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/382acafb90d542e4b7119deb00e34541#382acafb90d542e4b7119deb00e34541</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">littleguru said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Phankx, but, you know, all we (me, alone, and aall boys and girls form Parallel extensions) are doing well -</p>
<p>is just to write simple wrappers on wrappers&nbsp;for Win32 threads!!!</p>
<p>At least we are all frameworkers <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif" alt="Wink"></p>
</div></blockquote>
<p>Sure, but you could write a thin wrapper or a wrapper that adds a lot of logic. Your's is more like a thin wrapper (that does not add much on their own) and theirs is a wrapper that adds a lot of logic and algorithms.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/575c8edae62d42f4a5d39deb00e345ab#575c8edae62d42f4a5d39deb00e345ab</link>
		<pubDate>Tue, 23 Jun 2009 20:45:07 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/575c8edae62d42f4a5d39deb00e345ab#575c8edae62d42f4a5d39deb00e345ab</guid>
		<dc:creator>Christian Liensberger</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/littleguru/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">littleguru said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Sure, but you could write a thin wrapper or a wrapper that adds a lot of logic. Your's is more like a thin wrapper (that does not add much on their own) and theirs is a wrapper that adds a lot of logic and algorithms.</p>
</div></blockquote>
<p>You are right! i prefer Keep It Stupid Simple. Frameworkers goes far from this idiom nowadays, that means, that i nedd to spend time trying to deal with comlicated APIs, more time when things are not going the right way you want it to, more time waiting
 for a next .NET version (just because nobody understands it better) tips and tricks, and so on.</p>
<p>In m opinion, if i can do complicated thing using things as simple as pissible, i.e. thin&nbsp;wrappers - this is a best, just because you can understang what beneath API&nbsp;is going on&nbsp;by simply lookin under the hood <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' />.</p>
<p>KISS <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/032778b9566c456ca8199deb00e34614#032778b9566c456ca8199deb00e34614</link>
		<pubDate>Tue, 23 Jun 2009 20:56:33 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/032778b9566c456ca8199deb00e34614#032778b9566c456ca8199deb00e34614</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">littleguru said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>You are right! i prefer Keep It Stupid Simple. Frameworkers goes far from this idiom nowadays, that means, that i nedd to spend time trying to deal with comlicated APIs, more time when things are not going the right way you want it to, more time waiting
 for a next .NET version (just because nobody understands it better) tips and tricks, and so on.</p>
<p>In m opinion, if i can do complicated thing using things as simple as pissible, i.e. thin&nbsp;wrappers - this is a best, just because you can understang what beneath API&nbsp;is going on&nbsp;by simply lookin under the hood
<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif" alt="Wink">.</p>
<p>KISS <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif" alt="Wink"></p>
</div></blockquote>
<p>Don't make the error to set thin wrappers equal with simplicity! The Parallel FX has a simple API but still a lot of logic runs underneath. A simple API doesn't mean that there's no logic underneath. Sometimes thin wrappers are even more complicated because
 the user needs to deal with everything from the underlying system, whereas logic could hide that away!</p>
<p>In your case the API is simple but does not add much to the ThreadPool. In the case of the Parallel FX the API is simple as well but adds a lot more logic so that load balancing works out better and the caches of the cores are used more efficiently.</p>
<p>Why do you want to kiss me? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/13906405012b47d7be789deb00e34680#13906405012b47d7be789deb00e34680</link>
		<pubDate>Tue, 23 Jun 2009 21:06:34 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/13906405012b47d7be789deb00e34680#13906405012b47d7be789deb00e34680</guid>
		<dc:creator>Christian Liensberger</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/littleguru/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>The challenge is to make a powerful abstraction thats simple.. (balanced)&nbsp;its easy to make a simple abstraction thats simple.. you should try and find something more unique (and perhaps more simple (simple != useless) because MEF and concurrency / threading
 are big tasks to take on).</p>
<p>I've found naturally the things I've ended up building are things that have caused me the biggest development friction (this is natural), and I'm certainly not having friction points with ioc/di frameworks.. or at least if I want more from them, would require
 a sizable dev effort.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/a4f5b38284ad4434a1dd9deb00e346e6#a4f5b38284ad4434a1dd9deb00e346e6</link>
		<pubDate>Tue, 23 Jun 2009 21:24:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/a4f5b38284ad4434a1dd9deb00e346e6#a4f5b38284ad4434a1dd9deb00e346e6</guid>
		<dc:creator>stevo_</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/stevo_/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>I use Mono.Addins <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/825d0f2883984814b1809deb00e34747#825d0f2883984814b1809deb00e34747</link>
		<pubDate>Tue, 23 Jun 2009 22:24:52 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/825d0f2883984814b1809deb00e34747#825d0f2883984814b1809deb00e34747</guid>
		<dc:creator>Bass</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Bass/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>Could you state clearly why you are writing alternatives to MEF, ParallelFx, and XML serialization?&nbsp; Not that it matters for you, since self-edification is a worthwhile goal, but for others to be interested, you need incentive.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/9e4b88bcb41e4c1d8d2c9deb00e347aa#9e4b88bcb41e4c1d8d2c9deb00e347aa</link>
		<pubDate>Wed, 24 Jun 2009 02:14:37 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/9e4b88bcb41e4c1d8d2c9deb00e347aa#9e4b88bcb41e4c1d8d2c9deb00e347aa</guid>
		<dc:creator>Joe Chung</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/joechung/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">joechung said:</div><div class="quoteText">
<p>Could you state clearly why you are writing alternatives to MEF, ParallelFx, and XML serialization?&nbsp; Not that it matters for you, since self-edification is a worthwhile goal, but for others to be interested, you need incentive.</p>
</div></blockquote>
<p>Ok, i'm willing to be sequential.</p>
<p>1st point: Full source code access.</p>
<p>2st point: Framework size.</p>
<p>3st point: It challenging to do the better product as do the guys at Microsoft.</p>
<p>In your opinion,&nbsp;why Linus Torvalds&nbsp;stated his&nbsp;own project formerly known as Linux Project, even he knows that Unix/Windows/QNX etc.&nbsp;OS-es already exists?</p>
<p>If you are asking me, why I'n doing so. I have the answer.</p>
<p>I'm tired, because nobody hires me, nobody supports me, nobody follows me. Do you really think that big fat cats in Microsoft will ever give me a chance to do the best i can do? No. Misrosoft is a suxx as&nbsp;a work place, because&nbsp;people like me are eaten for
 the breakfast by the corporate approach, so I'm smart enouth mice to understand it.&nbsp;Too many guys tries to be a one-man-at-the-top. Probably, I'm going to&nbsp;continue to develop software&nbsp;while working as system administrator in no-one-knows-it-company for the
 end of my life. On the other hand I can do better than Microsoft Teams and I will.</p>
<p>So, if you can't challenge the best of Microsoft teams for your own, give me chance to do this for you.</p>
<p>If you are from one ot the teams you mention it earlier (ParallelFx, MEF, etc), just be ready to know what i'm thinking about you.</p>
<p>I'm trying to prove that you can create by YOUR own code which can do the parallelization in several&nbsp;assemblies with 4-8K size, and it will work BETTER that in .NET FW 4.0 or ParallelFx. YOU can do better. YOU can make use of it. YOU. Just learn what is
 incapsulation, interfaces, inheritance, factory pattern, etc, exploring my code. It is a prove that YOU can do better.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0c229229a724493180359deb00e34816#0c229229a724493180359deb00e34816</link>
		<pubDate>Tue, 07 Jul 2009 16:38:31 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0c229229a724493180359deb00e34816#0c229229a724493180359deb00e34816</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">joechung said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Ok, i'm willing to be sequential.</p>
<p>1st point: Full source code access.</p>
<p>2st point: Framework size.</p>
<p>3st point: It challenging to do the better product as do the guys at Microsoft.</p>
<p>In your opinion,&nbsp;why Linus Torvalds&nbsp;stated his&nbsp;own project formerly known as Linux Project, even he knows that Unix/Windows/QNX etc.&nbsp;OS-es already exists?</p>
<p>If you are asking me, why I'n doing so. I have the answer.</p>
<p>I'm tired, because nobody hires me, nobody supports me, nobody follows me. Do you really think that big fat cats in Microsoft will ever give me a chance to do the best i can do? No. Misrosoft is a suxx as&nbsp;a work place, because&nbsp;people like me are eaten for
 the breakfast by the corporate approach, so I'm smart enouth mice to understand it.&nbsp;Too many guys tries to be a one-man-at-the-top. Probably, I'm going to&nbsp;continue to develop software&nbsp;while working as system administrator in no-one-knows-it-company for the
 end of my life. On the other hand I can do better than Microsoft Teams and I will.</p>
<p>So, if you can't challenge the best of Microsoft teams for your own, give me chance to do this for you.</p>
<p>If you are from one ot the teams you mention it earlier (ParallelFx, MEF, etc), just be ready to know what i'm thinking about you.</p>
<p>I'm trying to prove that you can create by YOUR own code which can do the parallelization in several&nbsp;assemblies with 4-8K size, and it will work BETTER that in .NET FW 4.0 or ParallelFx. YOU can do better. YOU can make use of it. YOU. Just learn what is
 incapsulation, interfaces, inheritance, factory pattern, etc, exploring my code. It is a prove that YOU can do better.</p>
</div></blockquote>
<p>Proper spelling would be a wonderful starting point.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/9237650ebe4847858c339deb00e34883#9237650ebe4847858c339deb00e34883</link>
		<pubDate>Tue, 07 Jul 2009 16:40:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/9237650ebe4847858c339deb00e34883#9237650ebe4847858c339deb00e34883</guid>
		<dc:creator>PaoloM</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PaoloM/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<p>I use Mono.Addins <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif" alt="Smiley"></p>
<p>&nbsp;</p>
</div></blockquote>
<p>Well, I'm happy to read it. Actually, I'm planning to make my&nbsp;project to be Mono compatible, AND use Mono.Addins for&nbsp;Unix&nbsp;and AppDomain itself for Windows.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/c03c79e6afb44f8082349deb00e348e6#c03c79e6afb44f8082349deb00e348e6</link>
		<pubDate>Tue, 07 Jul 2009 16:44:27 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/c03c79e6afb44f8082349deb00e348e6#c03c79e6afb44f8082349deb00e348e6</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">PaoloM said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Proper spelling would be a wonderful starting point.</p>
</div></blockquote>
<p>If you are thinking you are smart enouth, please help me spell&nbsp;anything you found&nbsp;incorrect. Show me you point, exactly.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/94951061e37341e1b5979deb00e3494d#94951061e37341e1b5979deb00e3494d</link>
		<pubDate>Tue, 07 Jul 2009 16:46:47 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/94951061e37341e1b5979deb00e3494d#94951061e37341e1b5979deb00e3494d</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">stevo_ said:</div><div class="quoteText">
<p>The challenge is to make a powerful abstraction thats simple.. (balanced)&nbsp;its easy to make a simple abstraction thats simple.. you should try and find something more unique (and perhaps more simple (simple != useless) because MEF and concurrency / threading
 are big tasks to take on).</p>
<p>I've found naturally the things I've ended up building are things that have caused me the biggest development friction (this is natural), and I'm certainly not having friction points with ioc/di frameworks.. or at least if I want more from them, would require
 a sizable dev effort.</p>
</div></blockquote>
<p>Actually, yes</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/2ec01fbbb5f446d4ae469deb00e349b5#2ec01fbbb5f446d4ae469deb00e349b5</link>
		<pubDate>Tue, 07 Jul 2009 16:55:04 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/2ec01fbbb5f446d4ae469deb00e349b5#2ec01fbbb5f446d4ae469deb00e349b5</guid>
		<dc:creator>Artur Mustafin</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/hack2roothotmai/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">hack2roothotmai said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">PaoloM said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>If you are thinking you are smart enouth, please help me spell&nbsp;anything you found&nbsp;incorrect. Show me you point, exactly.</p>
</div></blockquote>
<p>This time quoting, so you don't go back and fix it, ok? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p><blockquote><div class="quoteText">If you are thinking you are smart <strong>enouth</strong>, please help me spell&nbsp;anything you found&nbsp;incorrect. Show me
<strong>you</strong> point, exactly.</div></blockquote></p>
<p>QED.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/d7bec8cff0b34277bae99deb00e34a1c#d7bec8cff0b34277bae99deb00e34a1c</link>
		<pubDate>Tue, 07 Jul 2009 18:04:54 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/d7bec8cff0b34277bae99deb00e34a1c#d7bec8cff0b34277bae99deb00e34a1c</guid>
		<dc:creator>PaoloM</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PaoloM/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">PaoloM said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">hack2roothotmai said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p></p>
<p>QED.</p>
</div></blockquote>
<p>So are you going to correct Dovella's terrible grammar and spelling now? Or at least not attack people who do?</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/f73056b9cfae455a9fd69deb00e34a82#f73056b9cfae455a9fd69deb00e34a82</link>
		<pubDate>Tue, 07 Jul 2009 19:13:50 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/f73056b9cfae455a9fd69deb00e34a82#f73056b9cfae455a9fd69deb00e34a82</guid>
		<dc:creator>Bass</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Bass/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">PaoloM said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>So are you going to correct Dovella's terrible grammar and spelling now? Or at least not attack people who do?</p>
</div></blockquote>
<p>Hey, the guy literally asked for help. Dovella is in a league of his own - although there's one who surpasses even Dovella and that's&nbsp;<a id="ctl00_MainPlaceHolder_EntryHeader_AuthorLink" href="http://channel9.msdn.com/Niners/peterwillcn/">peterwillcn</a>.
 All in a good spirit <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif' alt='Big Smile' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/b214df46c25f4c77b2f69deb00e34ae9#b214df46c25f4c77b2f69deb00e34ae9</link>
		<pubDate>Tue, 07 Jul 2009 19:33:29 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/b214df46c25f4c77b2f69deb00e34ae9#b214df46c25f4c77b2f69deb00e34ae9</guid>
		<dc:creator>Bent Rasmussen</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/exoteric/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">PaoloM said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>So are you going to correct Dovella's terrible grammar and spelling now? Or at least not attack people who do?</p>
</div></blockquote>
<p>I don't have to do anything, but when people go around and spout nonsense claiming to be some kind of superhuman being with an array of knowledge that clearly is beyond the reach of the mere mortals working at Microsoft, well... let's start from something
 basic, like decent communication, ok?</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/e67523820f034ab789d29deb00e34b4f#e67523820f034ab789d29deb00e34b4f</link>
		<pubDate>Tue, 07 Jul 2009 20:18:23 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/e67523820f034ab789d29deb00e34b4f#e67523820f034ab789d29deb00e34b4f</guid>
		<dc:creator>PaoloM</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PaoloM/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p>er, since your code is obviously much superior to everyone else's code I'm asking you if&nbsp;you would be interested to contribute to a project of mine. It's a new operating system and&nbsp;it's gonna be bigger than Windows, Linux and OS X combined..</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/e0683edcac6640149df99deb00e34bb2#e0683edcac6640149df99deb00e34bb2</link>
		<pubDate>Tue, 07 Jul 2009 21:13:59 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/e0683edcac6640149df99deb00e34bb2#e0683edcac6640149df99deb00e34bb2</guid>
		<dc:creator>RoyalSchrubber</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/RoyalSchrubber/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">RoyalSchrubber said:</div><div class="quoteText">
<p>er, since your code is obviously much superior to everyone else's code I'm asking you if&nbsp;you would be interested to contribute to a project of mine. It's a new operating system and&nbsp;it's gonna be bigger than Windows, Linux and OS X combined..</p>
</div></blockquote>
<p>Are you being serious? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p><br>
I have some interesting ideas for operating systems but there is no way in hell I have the manpower to make them real.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/6e874290bac54acc9aaf9deb00e34c18#6e874290bac54acc9aaf9deb00e34c18</link>
		<pubDate>Tue, 07 Jul 2009 21:24:34 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/6e874290bac54acc9aaf9deb00e34c18#6e874290bac54acc9aaf9deb00e34c18</guid>
		<dc:creator>Bass</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Bass/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">RoyalSchrubber said:</div><div class="quoteText">
<p>er, since your code is obviously much superior to everyone else's code I'm asking you if&nbsp;you would be interested to contribute to a project of mine. It's a new operating system and&nbsp;it's gonna be bigger than Windows, Linux and OS X combined..</p>
</div></blockquote>
<p>Bigger than all of those combined?</p>
<p>That's a big ambition in code bloat <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/645e456255cd4c2fa49a9deb00e34c7f#645e456255cd4c2fa49a9deb00e34c7f</link>
		<pubDate>Tue, 07 Jul 2009 21:29:21 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/645e456255cd4c2fa49a9deb00e34c7f#645e456255cd4c2fa49a9deb00e34c7f</guid>
		<dc:creator>blowdart</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/blowdart/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">blowdart said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">RoyalSchrubber said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Bigger than all of those combined?</p>
<p>That's a big ambition in code bloat <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif" alt="Tongue Out"></p>
</div></blockquote>
<p>HEY CHARLES!</p>
<p>Where did you put that &lt;sarcasm&gt; tag again? People need it!&nbsp;<img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0d8350765adb439f946d9deb00e34ce5#0d8350765adb439f946d9deb00e34ce5</link>
		<pubDate>Tue, 07 Jul 2009 22:05:35 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/0d8350765adb439f946d9deb00e34ce5#0d8350765adb439f946d9deb00e34ce5</guid>
		<dc:creator>PaoloM</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PaoloM/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">blowdart said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">RoyalSchrubber said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Bigger than all of those combined?</p>
<p>That's a big ambition in code bloat <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif" alt="Tongue Out"></p>
</div></blockquote>
<p>I've figured it all&nbsp;out, I'll use one&nbsp;trick with zip files..</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/886094d1a01d451cb9029deb00e34d4b#886094d1a01d451cb9029deb00e34d4b</link>
		<pubDate>Tue, 07 Jul 2009 22:26:39 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/886094d1a01d451cb9029deb00e34d4b#886094d1a01d451cb9029deb00e34d4b</guid>
		<dc:creator>RoyalSchrubber</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/RoyalSchrubber/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">blowdart said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">RoyalSchrubber said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Bigger than all of those combined?</p>
<p>That's a big ambition in code bloat <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif" alt="Tongue Out"></p>
</div></blockquote>
<p>My operating system avoids all this code bloat. Everything is just one big text file and you get to see it at random. Random!!!! Bet your operating systems can't do that. Random!!!!!!!</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/73089f3d536e4a80a36a9deb00e34daf#73089f3d536e4a80a36a9deb00e34daf</link>
		<pubDate>Tue, 07 Jul 2009 23:07:27 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/73089f3d536e4a80a36a9deb00e34daf#73089f3d536e4a80a36a9deb00e34daf</guid>
		<dc:creator>AndyC</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AndyC/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - http://plugins.codeplex.com</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">AndyC said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">blowdart said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>My operating system avoids all this code bloat. Everything is just one big text file and you get to see it at random. Random!!!! Bet your operating systems can't do that. Random!!!!!!!</p>
</div></blockquote>
<p>No taunting the yellowhead!</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/dbb4954102ce417283769deb00e34e15#dbb4954102ce417283769deb00e34e15</link>
		<pubDate>Wed, 08 Jul 2009 02:04:35 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/475211-httppluginscodeplexcom/dbb4954102ce417283769deb00e34e15#dbb4954102ce417283769deb00e34e15</guid>
		<dc:creator>PaoloM</dc:creator>
		<slash:comments>32</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PaoloM/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>