<?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>Comment Feed for Channel 9 - DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/ch9/4d56/91d0ae4f-e2fb-44b7-8a38-9e25011e4d56/dc2010keynote_100_ch9.jpg</url>
		<title>Channel 9 - DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<link></link>
	</image>
	<description> Speaker: Bart de Smet Aufzeichnung vom&amp;nbsp;DEVcamp&amp;nbsp;2010 in Wien, am 12. Oktober 2010 Organisiert von den Partnern&amp;nbsp;TechTalk,&amp;nbsp;Cubido&amp;nbsp;und&amp;nbsp;CSS.Microsoft &#214;sterreich unterst&#252;tzte das Event als Hauptsponsor und hat auch selbst einige Sessions abgehalten. At Microsofts Professional Developers Conference (PDC) a few years back, we introduced the LINQ project to solve the impedance mismatch between various data models by means of integrated query syntax in mainstream programming languages. Today, we’re seeing a rich ecosystem around LINQ providers that allow developers to reach out to many more data sources. However, there’s a lot of opportunity left to democratize even more data models. Based on the theory of monads, we’ll explore the incredibly powerful nature of query comprehensions to build reactive queries.&amp;nbsp;Asynchronous, event-driven &amp;quot;reactive&amp;quot; programming is way too hard in today&#39;s world of development tools and frameworks. The huge amount of manual and error-prone plumbing leads to incomprehensible and hard to maintain code. As we reach out to services in the cloud, the desire for asynchronous computation is ever increasing, requiring a fresh look on the problems imposed by reactive programming. Centered around the concept of observable data sources, Rx provides a framework that takes care of the hard parts of reactive programming. Instead of focusing on the hard parts, you now can start dreaming about the endless possibilities of composing queries over asynchronous data sources, piggybacking on convenient LINQ syntax. In this session, we&#39;ll cover the design philosophy of Rx, rooted on the deep duality between the interactive IEnumerable interface and the new reactive IObservable interface in .NET 4. From this core understanding, we&#39;ll start looking at various combinators and operators defined over observable collections, as provided by Rx, driving concepts home by a bunch of samples. Finally, if time permits, we&#39;ll look at the Reactive Extensions for JavaScript which allows us to take the concepts we already know from Rx and apply them to JavaScript and have deep integration with libraries such as jQuery.&amp;nbsp; Democratizing asynchronous programming starts today. Don&#39;t miss out on it! &amp;nbsp; </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 06:06:47 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 06:06:47 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>One of the best demos I have seen on channel 9 lately. Great explanation and demos...inspiring!!!</p><p>posted by Eddie Korbs</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634254848800000000</link>
		<pubDate>Tue, 16 Nov 2010 06:14:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634254848800000000</guid>
		<dc:creator>Eddie Korbs</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Superb!<br />On the side note... maybe you could buy yourself a small remote page switcher... they are really cheap these days.<br />All in all it was really joy to watch... waiting for your next presentation.<br />&nbsp;<p>posted by Waldemar</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255054660000000</link>
		<pubDate>Tue, 16 Nov 2010 11:57:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255054660000000</guid>
		<dc:creator>Waldemar</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>GREAT presentation ! outstanding <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif?v=c9' alt='Big Smile' /> </p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255362930000000</link>
		<pubDate>Tue, 16 Nov 2010 20:31:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255362930000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>Great Presentation. I learnt something.</p><p>Though, it would be better not need to use Reflection, and have it&nbsp;</p><p>So you could write &nbsp;<strong>TextBox.</strong> and have Intellisense list some of the possible events.</p><p>In my opinion having encode the event name in a string, could lead to problems.</p><p>Suppose I mistype the name, I don't get a compile-time warning but a runtime exception.</p><p>posted by AdamSpeight2008</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255503130000000</link>
		<pubDate>Wed, 17 Nov 2010 00:25:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255503130000000</guid>
		<dc:creator>AdamSpeight2008</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>If you haven't seen Bart's LINQ to Everything session from PDC10, you should. Another excellent presentation.</p><p><a href="http://bit.ly/bfzKCk">http://bit.ly/bfzKCk</a></p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255535860000000</link>
		<pubDate>Wed, 17 Nov 2010 01:19:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255535860000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255503130000000">AdamSpeight2008</a>: I've actually mentioned during my talk (as far as I remember) that we have an overload that allows you to do more or less what you're describing, by passing in add and remove handler lambda expressions (which will be using the .NET event itself using &#43;- and -= operations, respectively).</p><p>Since I like to do all demos live and always avoid to import code snippets on stage (sure, I could build the entire Windows kernel live on stage by dragging and dropping a code snipet of a few million lines of code, that would be immediately obvious to the audience <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' />), I went for the shorter one. Following this approach of live coding allows the brainwaves of the audience to be in sync with mine while producing the code.</p><p>That said, this overload is there as the closest one to being able to pass in an event. However, .NET events are merely metadata citizens and are not first-class constructs: in other words, you can't grab them nor pass them around (as opposed to methods which you can grab by means of delegate types).</p><p>Hope this helps and thanks for watching,<br>-Bart</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255796540000000</link>
		<pubDate>Wed, 17 Nov 2010 08:34:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255796540000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255054660000000">Waldemar</a>: Thanks for the feedback. In fact I have two of those clickers (&lt;AdWarning&gt;Microsoft Wireless Notebook Presenter Mouse 8000&lt;/AdWarning&gt;), which I either forget to bring or forget to switch off such that the battery dies prematurely.</p><p>So yes, this was a little bit of jumping around on stage, which is good for my &quot;calories burned count&quot; anyway. Luckily some conference venues provide this kind of equipment <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' />.</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255799260000000</link>
		<pubDate>Wed, 17 Nov 2010 08:38:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255799260000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255796540000000">bdesmet</a>: it looks like WPF's RoutedEvent system works better here, it has a static XxxEvent property to reference to the event</p><p>posted by felix9</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255936000000000</link>
		<pubDate>Wed, 17 Nov 2010 12:26:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255936000000000</guid>
		<dc:creator>felix9</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634255936000000000">felix9</a>: Slightly better for sure, because there's something you can grab. Passing it around though is still cumbersome: you'd need to pass the static event object, as well as the instance to which it applies. All the remainder points made in my .NET events comparison slide hold here too: their &quot;events as data source&quot; characteristic is not apparent, composition lacks, etc. What you got though is a slightly nicer FromEvent bridge.</p><p>In fact, WPF events are not strictly more first class than .NET events, because you still have to pass two pieces of information around: the event object and the instance to which it applies. That's different with delegates, which can capture both the target method and the instance to go with it (remember all the function pointer &quot;fun&quot; in native C/C&#43;&#43; land to achieve a similar effect?).</p><p>Having said all of this, again: we're not replacing existing event sources or sources of asynchrony. Instead, we can build bridges and expose those as observable sequences. Building this particular bridge is incredibly straightforward, too.</p><p>Cheers,<br>-Bart</p><p>PS: In a former life, I was a developer on WPF, so yes, I'm very well-aware of what that particular platform got too <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9' alt='Wink' />.</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634256285250000000</link>
		<pubDate>Wed, 17 Nov 2010 22:08:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634256285250000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Thanks Charles for the link to LINQ to Everything. A great presentation. The bit in the end where Bart integrates the optimizer from solver foundation with LINQ is fantastic, and then he creates a time varying solution to the optimization problem by just putting two from's in front that get stock data observables. Wow!<p>posted by Jules</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634256448430000000</link>
		<pubDate>Thu, 18 Nov 2010 02:40:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634256448430000000</guid>
		<dc:creator>Jules</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>All that fictional syntax, Bart. Maybe you guys have a new PL in mind too? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9' alt='Wink' /></p><p>Funniest quote of the talk: &quot;Nobody thinks of a mouse as a database. They look at you and they lock you up somewhere.&quot; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-2.gif?v=c9' alt='Big Smile' /></p><p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634258936830000000</link>
		<pubDate>Sat, 20 Nov 2010 23:48:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634258936830000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[hi Bart, nice presentation. you have the source code up somewhere?<p>posted by kevin</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634260551480000000</link>
		<pubDate>Mon, 22 Nov 2010 20:39:08 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634260551480000000</guid>
		<dc:creator>kevin</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634260551480000000">kevin</a>: You can find the sample as a Hands-On Lab through our forum at <a href="http://social.msdn.microsoft.com/Forums/en-US/rx/threads">http://social.msdn.microsoft.com/Forums/en-US/rx/threads</a>. See section &quot;Announcements&quot; near the top for the link to the latest HOL documents.</p><p>Hope this helps,<br>-Bart</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634260598510000000</link>
		<pubDate>Mon, 22 Nov 2010 21:57:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634260598510000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>Great Presentation! Best Rx material I've seen yet. Now I can make sense of the Rx Design Guidelines.pdf.</p><p>Since async/await is in ctp, I am using a combination Task.FromAsync() and Unwrap() to handle composition of async operations. Now, Rx looks to me like good tool for observing a &quot;stream of Tasks&quot;.</p><p>Could you elaborate if and how Rx and Task&lt;T&gt; fit together, especially with the Async Ctp? On the first look, there seem to be similarities between the two.</p><p>&nbsp;</p><p>posted by mdk</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634271057120000000</link>
		<pubDate>Sun, 05 Dec 2010 00:28:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634271057120000000</guid>
		<dc:creator>mdk</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>There are indeed similarities between the two, but enough differences to warrant their coexistence. Let's talk about this now.</p><p>First of all, from an interface point of view, IObservable&lt;T&gt; and Task&lt;T&gt; share the same mode of data acquisition, with data being pushed at you through a continuation (cf. IObserver&lt;T&gt; and the Task&lt;T&gt; ContinueWith method). One difference lies in the arity of the data. While IObservable&lt;T&gt; can describe the acquisition of multiple values of type T (cf. OnNext), a Task&lt;T&gt; can only signal a single value. So, IObservable&lt;T&gt; is more general than Task&lt;T&gt; from a one-versus-many data-centric point of view. In other words, IObservable&lt;T&gt; is great to describe push-based <em>streams</em> of data (such as for event processing) while Task&lt;T&gt; covers the <em>single-valued</em> case. No surprise we have conversions from Task&lt;T&gt; into IObservable&lt;T&gt; in the Rx libraries. You could do the other way around as well, for example collecting an IObservable&lt;T&gt;'s data into an IList&lt;T&gt; which is wrapped in a Task&lt;T&gt;. Here you're loosing the timing information of inidividually acquired values though (read on).</p><p>Now on to the Async CTP. What the new async features in C# and VB are all about is sequential composition for asynchronous programming. It's all about writing code that runs in response to an asynchronous task's (task used in the broadest sense here, not just Task&lt;T&gt;) sequentially with respect to the code that triggered the operation. In reality, the compiler turns the sequential-looking code into a continuation on the asynchronous task:</p><p><pre class="brush: csharp">var res = await op();
Console.WriteLine(res);</pre></p><p>This really turns into something along the following lines (in reality much more complex using a state machine much alike iterators, and with a check for BeginAwait's Boolean return value):</p><p><pre class="brush: csharp">var aw = op().GetAwaiter();
aw.BeginAwait(() =&gt; {
    var res = aw.EndWait();
    Console.WriteLine(res);
});</pre></p><p>The implementation of GetAwaiter depends on the return type of the &quot;op&quot; call above. In case it's a Task&lt;T&gt;, the awaiter represents an entry-point to establish a ContinueWith operation passed to the BeginAwait method. However, the compiler is by no means tied to any particular implementation of the &quot;await pattern&quot; and will choose whatever is available through regular method resolution (instance methods first, then extension methods, all regular rules apply). In particular, the Rx library implements the await pattern for IObservable&lt;T&gt;:</p><p><pre class="brush: csharp">var res = await Observable.Range(0, 10);
Console.WriteLine(string.Join(&quot;, &quot;, res));</pre><br><br>The inferred type for res will be IList&lt;int&gt;, collecting all the values from the IObservable&lt;int&gt; sequence (here the range with values 0 through 9) that were signaled before OnCompleted. If an error is signaled through OnError, the EndAwait method call will surface it. Notice the use of an IList&lt;T&gt; for the await on IObservable&lt;T&gt; because await is about single values, while IObservable&lt;T&gt; is about sequences or streams of data.</p><p>To conclude, let's give an other observation (pun intended) here. Rx and async/await are totally complementary. I think we all agree that both technologies deal with asynchronous programming. One difference is in the arity of data, another is in the way you perform composition. We've seen <em>exactly</em> this coexistence situation for synchronous programming as well. Here are the two language features I'm talking about:</p><ul><li>; - No, not a typo: semi-colon. Semi-colon is the way to sequence synchronous <em>code</em> operations in imperative style languages like C#. It's also your way to flow data out of an operation, into a variable and propagate it to the <em>next</em> operation. </li><li>Query expressions, aka LINQ - This allows for composition over sequences of <em>data </em>by chaining (sequencing) together query operators through a fluent method invocation pattern. This is not your typically control flow, but totally complementary to the above. </li></ul><p>Today we're seeing this repeated for asynchronous programming. For the first bullet point, we now have the await keyword, which allows code-centric sequencing of asynchronous operators. For the second bullet point, LINQ can be used to operate on sequences of data (using a pipelining mechanism for sequencing) such as IObservable&lt;T&gt; collections (or IAsyncEnumerable&lt;T&gt;, search C9 for more information on that one's role). Both can nicely coexist.</p><p>Hope this helps!</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634272161280000000</link>
		<pubDate>Mon, 06 Dec 2010 07:08:48 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634272161280000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>Thanks for the long explanation!</p><p>Glad to see they are&nbsp;complementary, considering the past ways for async operations I was kind of worried.</p><p>I wouldn't have seen ;&nbsp;: linq = Task : Rx if it poked me in the eye - but it makes perfectly sense!</p><p>Thanks again!</p><p>posted by mdk</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634276522800000000</link>
		<pubDate>Sat, 11 Dec 2010 08:18:00 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634276522800000000</guid>
		<dc:creator>mdk</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>This video was so clear and inspiring that&nbsp;our team&nbsp;took Rx into real world use. We have used it a few weeks now, and it have already a) made a few complex source code classes (with async events) a lot simpler, and&nbsp;b) solved&nbsp;some really nasty thread safety issues. So, thanks Bart and the Rx team!</p><p>&nbsp;</p><p>posted by Thorium</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634297677400000000</link>
		<pubDate>Tue, 04 Jan 2011 19:55:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634297677400000000</guid>
		<dc:creator>Thorium</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>I have also some problems:</p><ul><li>I can't really debug Unit tests when using&nbsp;Silverlight Reactive Extensions (Silverlight Rx library with .NET core test cases). </li><li>One case when calling .Subscribe() I get&nbsp;an exception before onNext evaluation:&nbsp;&quot;Collection was modified; enumeration operation may not execute.&quot; But I don't know which collection! How can this be possible, I thought that Observables are like &quot;history of events&quot;, and you can't modify history...&nbsp;Because this is before the first onNext, I don't find a way to debug. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-6.gif?v=c9' alt='Sad' /> </li></ul><p>And questions:</p><ul><li>Ain't&nbsp;there&nbsp;pdb-files to debug the&nbsp;Rx core...? </li><li>Should I dispose manually? When? </li><li>How will Rx work with Silverlight two-way data binding? </li></ul><p>&nbsp;</p><p>posted by Thorium</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634298424430000000</link>
		<pubDate>Wed, 05 Jan 2011 16:40:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634298424430000000</guid>
		<dc:creator>Thorium</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>@<a href="/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634298424430000000">Thorium</a>: Thanks for your interest. Please use the Rx forums for questions: <a href="http://social.msdn.microsoft.com/Forums/en-US/rx">http://social.msdn.microsoft.com/Forums/en-US/rx</a>.</p><p>posted by bdesmet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634313573720000000</link>
		<pubDate>Sun, 23 Jan 2011 05:29:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634313573720000000</guid>
		<dc:creator>bdesmet</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Truly excellent - clear, rich in information, well paced, and inspiring. Many thanks!<p>posted by Mike Pelton</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634344925650000000</link>
		<pubDate>Mon, 28 Feb 2011 12:22:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634344925650000000</guid>
		<dc:creator>Mike Pelton</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Excellent work.. It takes great presentation skill to do presentation on a complicated topic in such an easy to understand way.. Bravo<p>posted by Bibin</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634399097320000000</link>
		<pubDate>Mon, 02 May 2011 05:08:52 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634399097320000000</guid>
		<dc:creator>Bibin</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Is there an update for the demos presented in this presentation. It seems that the current version of Rx doesn&#39;t support many of the methods in this presentation.<p>posted by Kevin Burton</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634430814350000000</link>
		<pubDate>Tue, 07 Jun 2011 22:10:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634430814350000000</guid>
		<dc:creator>Kevin Burton</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[Excellent presentation - we are using RX extensions in our solution and this video really helped me have a clear understanding of the benefits and to explain it to others.<p>posted by Zubin Appoo</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634436283990000000</link>
		<pubDate>Tue, 14 Jun 2011 06:06:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634436283990000000</guid>
		<dc:creator>Zubin Appoo</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[ <p>Got job with your presentation. It's clear and simple to understand. The only problem is that now that the API has changed some methods you presented are not available anymore.</p><p>posted by grogru</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634480417590000000</link>
		<pubDate>Thu, 04 Aug 2011 08:02:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634480417590000000</guid>
		<dc:creator>grogru</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[<p>Wow, fantastic presentation although I would recommend a MS presenter mouse (PPT buttons on the bottom) &nbsp;so you won't have to run back and forth like a mongoose on methamphetamines <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> but I must say having done maaaannnnyyyy presentations myself this one was a 10. Thank you so much not only for RX but also for your energy and clarity of presentation. I am doing extensive Lync/UCMA work and the entire API is async method pairs for this RX is a godsend.</p><p>posted by GreenRoomTech</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634546951250501630</link>
		<pubDate>Thu, 20 Oct 2011 08:12:05 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634546951250501630</guid>
		<dc:creator>GreenRoomTech</dc:creator>
	</item>
	<item>
		<title>Re: DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues</title>
		<description>
			<![CDATA[One of the best presentation of technology without wasting any time and to the point.<br><br>Thanks lot<br><p>posted by priyamjm</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634608728853648061</link>
		<pubDate>Fri, 30 Dec 2011 20:14:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/codefest/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues#c634608728853648061</guid>
		<dc:creator>priyamjm</dc:creator>
	</item>
</channel>
</rss>