<?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 wkempf</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/wkempf/Comments/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>wkempf</title>
		<link></link>
	</image>
	<description></description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 19 Jun 2013 07:53:40 GMT</pubDate>
	<lastBuildDate>Wed, 19 Jun 2013 07:53:40 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Tip 3: Wrap events up in Task-returning APIs and await them</title>
		<description>
			<![CDATA[<p>When I say API I'm not interested in how it's implemented, so all of the talk about FromEventPattern is static. What I'm talking about is the public API, in this case the signature of WhenReadingChanged (again, I'm renaming so the name doesn't give an indication of IObservable or Task). The question is whether WhenReadingChanged should return a Task or an IObservable. I'm maintaining it should return an IObservable.</p><p>You are, however, correct when you ask if my point is that ReadingChangedObservable could have been used identically in both the async version and the Rx version. That's precisely the point. By defining your API (ReadingChangedObservable / ReadingChangedAsync / WhenReadingChanged / whatever) to return an IObservable you can use it with either Rx composition (appropriate when composing streams) or with async/await (appropriate when composing the &quot;next&quot; event as was done in several examples here). Contrast this with returning a Task. If you do that, you've lost the stream and can only compose with async/await (actually, we're totally glossing over composing with ContinueWith... the key is that await works not on Task but on awaitables, and both Task and IObservable are awaitables). IMHO, nothing is gained by returning Task, but a lot is lost, so you simply shouldn't return Task here.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987166349195151</link>
		<pubDate>Tue, 12 Mar 2013 20:23:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987166349195151</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Tip 3: Wrap events up in Task-returning APIs and await them</title>
		<description>
			<![CDATA[<p>You can't change the framework. By API, I mean *your* API. In this case, the WhenReadingChanged (or name of your choice) extension method. You still seem to be missing the crux of this, though. &quot;(2) whether we should implement our logic using RX combinators or language combinators&quot; sure seems to be missing my point. By returning an IObservable instead of a Task <strong>I have not limited you to Rx combinators</strong>. You can still use async/await to compose. What I've done is made the API (WhenReadingChanged) usable by both language and Rx combinators.</p><p>The guidelines as I see how they should be followed:</p><p>1. If the legacy event is part of an EAP implementation, wrap it with a Task, otherwise wrap it with an IObservable.</p><p>2. When composing, if you're composing streams you'll use Rx combinators, otherwise you should prefer language combinators using async/await.</p><p>(2) is a little oversimplified, so there's likely exceptions to be found, but 1 seems pretty obvious and I see no room for variation.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987126059974132</link>
		<pubDate>Tue, 12 Mar 2013 19:16:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987126059974132</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Tip 3: Wrap events up in Task-returning APIs and await them</title>
		<description>
			<![CDATA[<p>BTW, your StartShakeWatcher example violates one of the tenets from earlier in this series. Async void methods and delegates should only be used for top level event handlers. One of the reasons for this is to allow the API to be composable, but once you take that into consideration your original IObservable implementation is probably the better implementation. *shrug* Regardless, I believe my point still stands and streams of events should be modeled at the API level with IObservable and not Task.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987094698602682</link>
		<pubDate>Tue, 12 Mar 2013 18:24:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987094698602682</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Tip 3: Wrap events up in Task-returning APIs and await them</title>
		<description>
			<![CDATA[<p>Let's change the name in your example to just WhenReadingChanged so we can use the same name for both the Task solution and the IObservable solution. Now realize that an IObservable is an awaitable and you're first example works whether WhenReadingChanged returns a Task or an IObservable. Returning an IObservable is more appropriate, however, because the event is recurring. IObservable can handle composition of recurring event streams, while Task cannot. So returning a Task limits usage, while returning IObservable does not, and both provide the same usability in your scenarios where you're using a Task.</p><p><pre class="brush: csharp">// Shake detection using async (from a stream of Accelerometer.ReadingChangedEventArgs)
public async void StartShakeWatcher(Accelerometer accel) {
    var t = DateTime.Now;
    while (true) {
        // Doesn't matter if WhenReadingChanged returns a Task or an IObservable, this works the same.
        var e = await accel.WhenReadingChanged();
        if (Math.Pow(e.AccelerationX, 2) &#43; Math.Pow(e.AccelerationY, 2) &lt; 1.1) continue;
        if ((DateTime.Now - t).Milliseconds &lt; 200) Shake(this, null);
        t = DateTime.Now;
    }
}
</pre></p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987088300790188</link>
		<pubDate>Tue, 12 Mar 2013 18:13:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987088300790188</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Tip 3: Wrap events up in Task-returning APIs and await them</title>
		<description>
			<![CDATA[<p>This set of screen casts has been interesting, but this is the first one I've got serious problems with. At a conceptual level, I think you're abusing Task. Events typically are expected to be fired more than once. The only real exception to this is an event that's part of the EAP pattern. You're StoryBoard example is an EAP scenario, and there I have no problems with replacing that pattern with the TAP pattern. In fact, the EAP pattern should be considered harmful at this point, and TAP should be used for all new code and all legacy async code should be wrapped. All of you other examples, though, aren't part of the EAP, and as such are expected to be raised multiple times. For this, Task is the wrong solution. IObservable is the correct solution, and Rx observables are awaitable.</p><p>At an implementation level, you also have problems. Your TaskCompletionSource pattern fails to handle exceptions.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987064302060676</link>
		<pubDate>Tue, 12 Mar 2013 17:33:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Three-Essential-Tips-for-Async/Lucian03-TipsForAsyncThreadsAndDatabinding#c634987064302060676</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Microsoft DevRadio: Reactive Extensions for Windows 8</title>
		<description>
			<![CDATA[<p>Is there a reason you mention iTunes and RSS but not Zune/Xbox/whatever-it's-called-today in each of the entries here? Or why there appears to only be an Audio subscription there?</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/DevRadio/Microsoft-DevRadio-Reactive-Extensions-for-Windows-8#c634981016381016243</link>
		<pubDate>Tue, 05 Mar 2013 17:33:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/DevRadio/Microsoft-DevRadio-Reactive-Extensions-for-Windows-8#c634981016381016243</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Git Support Added to Visual Studio and TFS</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/posts/GitForVisualStudioTFS#c634951637164102443">1 hour&nbsp;ago</a></p><p>Is there a dependency on Team System in order to use GitHub from Visual Studio?</p><p></p></div></blockquote><p></p><p>If I've read the linked pages correctly, no. You can create just a local Git repository when creating a project, and you can clone a project from GitHub or anywhere else.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/GitForVisualStudioTFS#c634951678815250344</link>
		<pubDate>Wed, 30 Jan 2013 18:38:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/GitForVisualStudioTFS#c634951678815250344</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Ping 160: Sinofsky, WP celebrity ads, Nook app, Xbox anniversary</title>
		<description>
			<![CDATA[<p>Was that a Surface Skateboard by the fridge? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9' alt='Wink' /></p><p>I'm actually disappointed with the B&amp;N and MS collaboration so far. A Windows 8 app, but no WP8 app? The Windows 8 app isn't all that spectacular, either, in comparison to the Kindle app (I'm a NOOK owner, and live in that ecosystem, so I'm not playing fan boy here). Then the most recent NOOK tablet was still an Android based system. Doesn't seem like much of a collaboration to me.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/PingShow/Ping-160-Sinofsky-WP-celebrity-ads-Nook-app-Xbox-anniversary#c634897248566694432</link>
		<pubDate>Wed, 28 Nov 2012 18:40:56 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/PingShow/Ping-160-Sinofsky-WP-celebrity-ads-Nook-app-Xbox-anniversary#c634897248566694432</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Test of Terror: A Channel 9 Halloween Bedtime Story</title>
		<description>
			<![CDATA[<p>@<a href="/Blogs/LauraFoy/Test-of-Terror-A-Channel-9-Halloween-Bedtime-Story#c634872541590158529">felix9</a>: That's too cool.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/LauraFoy/Test-of-Terror-A-Channel-9-Halloween-Bedtime-Story#c634872844974468803</link>
		<pubDate>Wed, 31 Oct 2012 12:48:17 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/LauraFoy/Test-of-Terror-A-Channel-9-Halloween-Bedtime-Story#c634872844974468803</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Anders Hejlsberg, Steve Lucco, and Luke Hoban: Inside TypeScript</title>
		<description>
			<![CDATA[<p>@<a href="/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634848338734571113">SleepyDaddySoftware</a>: Boy, did you miss the point badly. &quot;So, it would be better for all stakeholders involved if IE implemented the google standard&quot; There you go again. There is no standard. None. There's a draft proposal, but no standard. This is an important distinction.</p><p>Everything else you said I've already said I'm in total agreement on. TypeScript should have source mapping, and that source mapping should be (barring compelling reasons otherwise) based on the existing draft proposal. If the existing proposal falls short for some reason, first the proposal should be tweaked before abandoning for an entirely different proposal. That's how standardization processes work.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634848652494284540</link>
		<pubDate>Wed, 03 Oct 2012 12:47:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634848652494284540</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Anders Hejlsberg, Steve Lucco, and Luke Hoban: Inside TypeScript</title>
		<description>
			<![CDATA[<p>@<a href="/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847928644272245">RichB</a>: A &quot;lint&quot; program provides meaningful static checking using an existing language. That's not what TypeScript is. To get more meaningful static checking, a new language was needed.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847970128336832</link>
		<pubDate>Tue, 02 Oct 2012 17:50:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847970128336832</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Anders Hejlsberg, Steve Lucco, and Luke Hoban: Inside TypeScript</title>
		<description>
			<![CDATA[<p>@<a href="/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847886511001470">SleepyDaddySoftware</a>: You stepped on a NIT of mine. What standards are you talking about. The Mozilla proposal is NOT a standard. If Microsoft implemented their own source mapping it would NOT be a standard. I could forgive you calling either of these a defacto-standard (though one could always argue about what constitutes defacto-standard status), but so much meaning is lost by web devs when they continually talk about things like they are standards when they are not.</p><p>There's a reason the mozilla source mappings are in draft. Ignoring their existence would be wrong, so I mostly agree with your sentiment. However, that doesn't entirely preclude the possibility that the draft either needs tweaking or even may need to be thrown out for an alternative design... it just means such direction should include documented reasons and be submitted as a competing proposal.</p><p>That said, you're quite correct that source mappings should be a high priority feature to add here, and the goal should be to use the draft proposal for the feature.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847901537297023</link>
		<pubDate>Tue, 02 Oct 2012 15:55:53 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Anders-Hejlsberg-Steve-Lucco-and-Luke-Hoban-Inside-TypeScript#c634847901537297023</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Improving quality with unit tests unit tests and fakes</title>
		<description>
			<![CDATA[<p>WTH? &quot;Note: Fakes is available only in Utlimate edition.&quot; Don't you think you should change the title here, rather than rely on that little disclaimer?</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Improving-quality-with-unit-tests-and-fakes#c634825496124045126</link>
		<pubDate>Thu, 06 Sep 2012 17:33:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Improving-quality-with-unit-tests-and-fakes#c634825496124045126</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Announcing git-tf: Combining the local repository of Git with the integrated ALM of TFS</title>
		<description>
			<![CDATA[<p>@<a href="/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804834981778689">Duncanma</a>: In theory, though not having looked at the source code I can't say that it's a certainty that the source would give anyone any help at all when implementing an hg-tf. However, selfish or not, while I would love to have an hg-tf I don't have the time to create one, even if the git-tf source provides 90% of the work.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804889410094709</link>
		<pubDate>Mon, 13 Aug 2012 21:09:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804889410094709</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Announcing git-tf: Combining the local repository of Git with the integrated ALM of TFS</title>
		<description>
			<![CDATA[<p>@<a href="/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804733780876356">RedKnight</a>:Not the only one, but it's obvious we're in the minority. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-6.gif?v=c9' alt='Sad' /> Minority or not, though, we should still have hg-tf and bzr-tf.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804758475535925</link>
		<pubDate>Mon, 13 Aug 2012 17:30:47 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804758475535925</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Announcing git-tf: Combining the local repository of Git with the integrated ALM of TFS</title>
		<description>
			<![CDATA[<p>I know I'm in the minority, but I would have preferred an hg-tf or bzr-tf, or all three.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804699140904358</link>
		<pubDate>Mon, 13 Aug 2012 15:51:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/VisualStudio/Announcing-git-tf-Combining-the-local-repository-of-Git-with-the-integrated-ALM-of-TFS#c634804699140904358</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Ping 149: The Outlook is good, body controlled PC&#39;s, Win8 RTM, Paid apps</title>
		<description>
			<![CDATA[<p>Uh oh... you said the M word (even if it was a metrosexual joke)!</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/PingShow/Ping-149-The-Outlook-is-good-body-controlled-PCs-Win8-RTM-Paid-apps#c634800475327148025</link>
		<pubDate>Wed, 08 Aug 2012 18:32:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/PingShow/Ping-149-The-Outlook-is-good-body-controlled-PCs-Win8-RTM-Paid-apps#c634800475327148025</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Platform Hygiene</title>
		<description>
			<![CDATA[<p>@<a href="/Blogs/Vector/Platform-Hygiene#c634795976141146961">EES</a>: You're missing the point of Tim's post. Even if you believe Vic's reasoning for not having a write API yet, it has zero relationship to what Dalton was taking Facebook to task for, and thus Vic's post was nothing but opportunistic bashing of a competitor.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634796017549005118</link>
		<pubDate>Fri, 03 Aug 2012 14:42:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634796017549005118</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Platform Hygiene</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/Blogs/Vector/Platform-Hygiene#c634795783156383066">4 hours&nbsp;ago</a></p><p>Am I only one who thinks MS behavior is pretty much same as other</p><p></p></div></blockquote><p></p><p>Obviously not. At least two other people made that observation before you in this thread. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9' alt='Wink' /></p><p>It's not precisely the same, but it's close enough to be creepy.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795960234226280</link>
		<pubDate>Fri, 03 Aug 2012 13:07:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795960234226280</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Platform Hygiene</title>
		<description>
			<![CDATA[<p>To be clear, though, I feel this post is a little bit of mud slinging as well. At least Tim isn't promoting (directly) some Microsoft product here, like Vic did, but I still felt a bit slimy reading this.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795364137955716</link>
		<pubDate>Thu, 02 Aug 2012 20:33:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795364137955716</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Platform Hygiene</title>
		<description>
			<![CDATA[<p>@<a href="/Blogs/Vector/Platform-Hygiene#c634795320708028241">fanbaby</a>: I think you missed the point. Tim clearly says later on that every platform provider is guilty of pulling APIs and services for numerous reasons, including reasons most would consider valid. It doesn't matter why Google pulled Gears, the fact is, they did, so they have a bad track record here. More importantly, Vic's post is just a veiled swipe at a competitor, one that's actually in kind of poor taste. I'm not at all sure I believe that the reason a write API hasn't been released is because they want to &quot;get it right&quot; first, but if that were the reason they should have conveyed this information without the attack. After all, there really isn't any real comparison between the Google&#43; write API being ready or not and Facebook's predatory actions w/ regard to Dalton Caldwell. This was nothing but an opportunistic mud slinging campaign.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795363012939852</link>
		<pubDate>Thu, 02 Aug 2012 20:31:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene#c634795363012939852</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Ping 144: SmartGlass, On{X}, FrugalDad, ESPN on XBox</title>
		<description>
			<![CDATA[<p>I'm wrong, huh? <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> No, I didn't &quot;read it wrong&quot;, as I listened to the recorded speech pronouncing it both ways. Sorry, Laura, you're not right this time.</p><p>Nice to see myself in the show though <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/PingShow/SmartGlass-OnX-FrugalDad-ESPN-on-XBox#c634752052498261564</link>
		<pubDate>Wed, 13 Jun 2012 17:27:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/PingShow/SmartGlass-OnX-FrugalDad-ESPN-on-XBox#c634752052498261564</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Ping 143: So.cl, Imagine Cup, Win 8 Boot Speed, Minecraft refund</title>
		<description>
			<![CDATA[<p>I looked on dictionary.com, and it's pronounced both ways. Potayto, potahto, tomayto, tomahto.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/PingShow/Ping-143-Socl-Imagine-Cup-Win-8-Boot-Speed-Minecraft-refund#c634739850059834170</link>
		<pubDate>Wed, 30 May 2012 14:30:05 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/PingShow/Ping-143-Socl-Imagine-Cup-Win-8-Boot-Speed-Minecraft-refund#c634739850059834170</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Ping 140: Hyper-V on Technet, Wordament, Nook, Windows Phone Marketplace</title>
		<description>
			<![CDATA[<p>Is that a Win8 tablet Eric is using here?</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/PingShow/Ping-140-Hyper-V-on-Technet-Wordament-Nook-Windows-Phone-Marketplace#c634721015630330190</link>
		<pubDate>Tue, 08 May 2012 19:19:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/PingShow/Ping-140-Hyper-V-on-Technet-Wordament-Nook-Windows-Phone-Marketplace#c634721015630330190</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
	<item>
		<title>Re: Windows Phone Minute: Group your pals</title>
		<description>
			<![CDATA[<p>Yeah, the problem here is there's an arbitrary and rather constrained limit of 20 contacts that can be added to a group. This would be a killer feature, if not for that limit.</p><p>posted by wkempf</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/Minute-of-Mango/Windows-Phone-Minute-Group-your-pals#c634686486387889724</link>
		<pubDate>Thu, 29 Mar 2012 20:10:38 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/Minute-of-Mango/Windows-Phone-Minute-Group-your-pals#c634686486387889724</guid>
		<dc:creator>wkempf</dc:creator>
	</item>
</channel>
</rss>