<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>rxx Discussions Rss Feed</title><link>http://rxx.codeplex.com/discussions</link><description>rxx Discussions Rss Description</description><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;davedev wrote:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Hello davedev,&lt;br /&gt;
&lt;blockquote&gt;
Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Yup, that worked. Thank you!&lt;br /&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Weird I thought I had tried that and it had failed. Thanks again.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 16:06:02 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417040602P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:29:17 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032917P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;br /&gt;
It's probably because the subject is receiving &lt;strong&gt;OnCompleted&lt;/strong&gt; and ignoring subsequent notifications.&lt;br /&gt;
&lt;br /&gt;
In other words, this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject);
&lt;/pre&gt;&lt;/div&gt;is essentially the same as this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError, subject.OnCompleted);
&lt;/pre&gt;&lt;/div&gt;Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;It's a fairly common mistake that I make too :)&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:25:36 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032536P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hello all,&lt;br /&gt;
&lt;br /&gt;
I'm trying to pass the output of ObservableTcpListener to a Subject&amp;lt;byte[]&amp;gt;. That subject will then be used in a query.&lt;br /&gt;
&lt;br /&gt;
The problem is that while the ObservableTcpListener receives every socket contents that I send, the query doesn't output anything besides the first two or three events.&lt;br /&gt;
&lt;br /&gt;
This code shows the problem that I'm mentioning. It should be ran in LINQPad as a &amp;quot;C# Program&amp;quot;.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main()
{
    &lt;span style="color:Green;"&gt;// Create the subject and the query&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; subject = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Subject&amp;lt;&lt;span style="color:Blue;"&gt;byte&lt;/span&gt;[]&amp;gt;();
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; query = subject.Select(reading =&amp;gt; reading);
    
    query.Subscribe(Console.WriteLine);
    
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; tcpListenerPool = ObservableTcpListener.Start(IPAddress.Loopback, 20001);
    
    tcpListenerPool.Subscribe(
        (TcpClient tcpClient) =&amp;gt;
        {
            &lt;span style="color:Green;"&gt;// Debug information just to check if the socket actually has anything in it&lt;/span&gt;
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;tcpSocket.Avaliable: &amp;quot;&lt;/span&gt; + tcpClient.Available);
            
            &lt;span style="color:Blue;"&gt;var&lt;/span&gt; receiveContentObservable = tcpClient.Client.ReceiveUntilCompleted(SocketFlags.None);
            
            &lt;span style="color:Green;"&gt;// Send socket content to the subject&lt;/span&gt;
            receiveContentObservable.Subscribe(subject);
        });
        
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}

&lt;span style="color:Green;"&gt;// Define other methods and classes here&lt;/span&gt;

&lt;/pre&gt;&lt;/div&gt;Note that sometimes LINQPad doesn't correctly close the socket, and gives the error: &amp;quot;Only one usage of each socket address (protocol/network address/port) is normally permitted&amp;quot;. If that happens go to the &amp;quot;Query&amp;quot; menu and choose &amp;quot;Cancel All Threads and Reset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The program that I'm using to send the sockets to the ObservableTcpListener is this python program:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;import socket
import random

payload = [&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;];

def sendPayload(payload):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((&amp;quot;localhost&amp;quot;, 20001))
    
    s.send(payload)
    
    s.close()

# Send 10 sockets with either &amp;quot;foo&amp;quot; or &amp;quot;bar&amp;quot;    
map(lambda x: sendPayload(random.choice(payload)), range(10))&lt;/code&gt;&lt;/pre&gt;

Is this a bug, or am I doing something wrong?&lt;br /&gt;
&lt;br /&gt;
Edit: I'm using the &amp;quot;Rxx Class Library for .NET 4.0&amp;quot; available in the Downloads section.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 14:04:34 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417020434P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Good stuff, worked, thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 12:27:08 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417122708P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
You can use &lt;a href="https://rxx.codeplex.com/SourceControl/changeset/view/70089#1128464" rel="nofollow"&gt;this overload of Select&lt;/a&gt;.  It allows you to project both sides of &lt;strong&gt;Either&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; xs = GetObservableFromExternalSource();

IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt; ys = xs.Select(t =&amp;gt; t, ex =&amp;gt; &lt;span style="color:Blue;"&gt;new&lt;/span&gt; MyAppException(ex));
&lt;/pre&gt;&lt;/div&gt;See also:&lt;br /&gt;
&lt;a href="https://rxx.codeplex.com/discussions/401272" rel="nofollow"&gt;https://rxx.codeplex.com/discussions/401272&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 12:10:12 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417121012P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;so i have a subscription that returns IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; from an external source, and i would like to convert that into IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt;, where MyAppException takes Exception as a parameter in ctor. &lt;br /&gt;
&lt;br /&gt;
can you please advise a way of doing this? thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 11:15:04 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417111504A</guid></item><item><title>New Post: Rxx release to match Rx v2 due to old dependency</title><link>http://rxx.codeplex.com/discussions/399501</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;br /&gt;
Yep, &lt;strong&gt;FromPropertyChangedPattern&lt;/strong&gt; is on the list.&lt;br /&gt;
&lt;br /&gt;
I agree that portability is the way to go.  Rx now supports Windows Phone 8 in their portable library, so Rxx should too.&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Mon, 11 Mar 2013 10:17:11 GMT</pubDate><guid isPermaLink="false">New Post: Rxx release to match Rx v2 due to old dependency 20130311101711A</guid></item><item><title>New Post: Rxx release to match Rx v2 due to old dependency</title><link>http://rxx.codeplex.com/discussions/399501</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;davedev wrote:&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
Furthermore, I've been working on integrating Rxx into Rx, though admittedly it hasn't been one of my priorities recently.  I'll dive back into it soon and hopefully we'll see some of the APIs rolled into Rx vNext.  After that, I may continue to deploy Rxx with features that weren't absorbed into Rx.&lt;br /&gt;
&lt;/blockquote&gt;
Integration of Rxx into Rx sounds absolutely great! My personal favorite would be the &lt;a href="http://rxx.codeplex.com/wikipage?title=FromPropertyChangedPattern" rel="nofollow"&gt;FromPropertyChangedPattern&lt;/a&gt;. Another really cool thing could be implementation of certain pieces in a portable way, so that it's possible to reuse the binaries produced with those extensions between Windows Phone 8 and Windows 8. But I guess it's too forward-looking request. :)&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
Roman.&lt;br /&gt;
&lt;/div&gt;</description><author>haspemulator</author><pubDate>Mon, 11 Mar 2013 09:32:35 GMT</pubDate><guid isPermaLink="false">New Post: Rxx release to match Rx v2 due to old dependency 20130311093235A</guid></item><item><title>New Post: Rxx release to match Rx v2 due to old dependency</title><link>http://rxx.codeplex.com/discussions/399501</link><description>&lt;div style="line-height: normal;"&gt;Hi Roman, &lt;br /&gt;
&lt;br /&gt;
I'm having a bit of a problem with a Code Contracts bug at the moment that is preventing me from building a release package; however, that's not really the reason why I haven't deployed a new version to NuGet in a while.  At some point I decided that the cost of building, testing, documenting and deploying new release versions of Rxx to match new versions of Rx, for each of the supported platforms, wasn't worth the effort.  I figured that building locally was the best solution for everyone, partially because it allows people to shrink the size of the library by eliminating the features that they don't want.  But thanks for your feedback, because I realize that it's probably not the best solution for everyone, it's just me being lazy :)&lt;br /&gt;
&lt;br /&gt;
Furthermore, I've been working on integrating Rxx into Rx, though admittedly it hasn't been one of my priorities recently.  I'll dive back into it soon and hopefully we'll see some of the APIs rolled into Rx vNext.  After that, I may continue to deploy Rxx with features that weren't absorbed into Rx.&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Fri, 08 Mar 2013 17:14:06 GMT</pubDate><guid isPermaLink="false">New Post: Rxx release to match Rx v2 due to old dependency 20130308051406P</guid></item><item><title>New Post: Rxx release to match Rx v2 due to old dependency</title><link>http://rxx.codeplex.com/discussions/399501</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
Any updates for the status of Rx2-matching Rxx release recently? Really looking forward for it. &lt;br /&gt;
&lt;br /&gt;
P.S. Building locally is not an attractive option, because of our build system and how it works (without going much into details). I would really prefer having Nuget package for this.&lt;br /&gt;
&lt;br /&gt;
Thanks in advance!&lt;br /&gt;
&lt;br /&gt;
 -Roman.&lt;br /&gt;
&lt;/div&gt;</description><author>haspemulator</author><pubDate>Fri, 08 Mar 2013 14:31:20 GMT</pubDate><guid isPermaLink="false">New Post: Rxx release to match Rx v2 due to old dependency 20130308023120P</guid></item><item><title>New Post: BufferIntrospective delayed subscription to underlying source</title><link>http://rxx.codeplex.com/discussions/431756</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thanks Dave!  I had been meaning to create the codeplex discussion ever since you posted but kept forgetting also :)&lt;/p&gt;
&lt;/div&gt;</description><author>bman654</author><pubDate>Sat, 02 Feb 2013 18:07:56 GMT</pubDate><guid isPermaLink="false">New Post: BufferIntrospective delayed subscription to underlying source 20130202060756P</guid></item><item><title>New Post: BufferIntrospective delayed subscription to underlying source</title><link>http://rxx.codeplex.com/discussions/431756</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;This discussion has been copied to a work item. Click &lt;a href="http://rxx.codeplex.com/workitem/23869" rel="nofollow"&gt;here&lt;/a&gt; to go to the work item and continue the discussion.&lt;/p&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Sat, 02 Feb 2013 17:50:53 GMT</pubDate><guid isPermaLink="false">New Post: BufferIntrospective delayed subscription to underlying source 20130202055053P</guid></item><item><title>New Post: BufferIntrospective delayed subscription to underlying source</title><link>http://rxx.codeplex.com/discussions/431756</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Brandon, &lt;/p&gt;
&lt;p&gt;I had bookmarked the discussion but then I forgot to get back to it, sorry.&lt;/p&gt;
&lt;p&gt;I'm currently working on merging various Rxx operators into Rx.  The introspective family may end up being absorbed too.  If so, I'm probably going to end up rethinking and rewriting them, including __BufferIntrospective__.  I'll probably drop &lt;strong&gt;WindowIntrospective&lt;/strong&gt; entirely.&lt;/p&gt;
&lt;p&gt;Thanks for reporting this issue.  When I get to these operators, I should make a unit test out of it.&lt;/p&gt;
&lt;p&gt;-- Dave&lt;/p&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Sat, 02 Feb 2013 17:48:38 GMT</pubDate><guid isPermaLink="false">New Post: BufferIntrospective delayed subscription to underlying source 20130202054838P</guid></item><item><title>New Post: BufferIntrospective delayed subscription to underlying source</title><link>http://rxx.codeplex.com/discussions/431756</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Dave,&lt;/p&gt;
&lt;p&gt;Did you ever have time to repro this issue: &lt;a href="http://social.msdn.microsoft.com/Forums/vi-VN/rx/thread/89f3d9c7-654f-41da-96e5-9bf9f5f97f2e" rel="nofollow"&gt;http://social.msdn.microsoft.com/Forums/vi-VN/rx/thread/89f3d9c7-654f-41da-96e5-9bf9f5f97f2e&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;br /&gt;
Brandon&lt;/p&gt;
&lt;/div&gt;</description><author>bman654</author><pubDate>Sat, 02 Feb 2013 16:39:31 GMT</pubDate><guid isPermaLink="false">New Post: BufferIntrospective delayed subscription to underlying source 20130202043931P</guid></item><item><title>New Post: TFS??</title><link>http://rxx.codeplex.com/discussions/430698</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Looks like GIT may become a viable option for me through TFS: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/codeplex/archive/2013/01/30/using-visual-studio-git-with-codeplex.aspx" rel="nofollow"&gt;http://blogs.msdn.com/b/codeplex/archive/2013/01/30/using-visual-studio-git-with-codeplex.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Thu, 31 Jan 2013 06:32:46 GMT</pubDate><guid isPermaLink="false">New Post: TFS?? 20130131063246A</guid></item><item><title>New Post: TFS??</title><link>http://rxx.codeplex.com/discussions/430698</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Fair question.&lt;/p&gt;
&lt;p&gt;I choose TFS for all of my open source projects because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It meets all of my basic needs when developing open source software on CodePlex:
&lt;ol&gt;
&lt;li&gt;Get Latest&amp;nbsp; (Only really useful where team &amp;gt; 1) &lt;/li&gt;&lt;li&gt;Check In &lt;/li&gt;&lt;li&gt;Check Out &lt;/li&gt;&lt;li&gt;View History &lt;/li&gt;&lt;li&gt;Compare &lt;/li&gt;&lt;li&gt;Resolve Conflicts&amp;nbsp; (Only really useful where team &amp;gt; 1) &lt;/li&gt;&lt;/ol&gt;
&lt;/li&gt;&lt;li&gt;It's very simple to use. &lt;/li&gt;&lt;li&gt;It integrates seamlessly into Visual Studio. &lt;/li&gt;&lt;li&gt;It requires no command-line knowledge; i.e., it's entirely UI-driven.&amp;nbsp; However, it also offers a command-line for advanced scenarios (which I never need).
&lt;/li&gt;&lt;li&gt;It's the original source control system used by CodePlex and&amp;nbsp;many of my previous employers, so I have more experience with it than any other.
&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;I had used SVN at a previous employer and found it to be difficult and unpleasant to use, especially&amp;nbsp;with Visual Studio.&amp;nbsp; The developers&amp;nbsp;in our company that were using Visual Studio 100%&amp;nbsp;of the time, including&amp;nbsp;myself,&amp;nbsp;agreed that&amp;nbsp;SVN was not the best choice.&amp;nbsp;
 We wanted as much transparency in our source control system as possible, which meant avoiding the command-line and shell extensions, instead opting for simple context menu commands in Visual Studio.&amp;nbsp; We also wanted to avoid&amp;nbsp;having annoying artifacts in the
 file system, such as .svn or .vss folders.&amp;nbsp; We had tried installing SVN plug-ins for Visual Studio,&amp;nbsp;but IIRC they had bugs and none of them were nearly as seamless or as easy to use in general as TFS.&amp;nbsp; The company eventually transitioned to using TFS source
 control and task management for all their projects, not just .NET projects.&amp;nbsp; I was primarily responsible&amp;nbsp;for&amp;nbsp;maintaining source control along with one other person.&amp;nbsp; We decided to install
&lt;a href="http://svnbridge.codeplex.com/"&gt;SVN Bridge&lt;/a&gt; so that our&amp;nbsp;Java developers and Mac users (designers) could use the same source control.&amp;nbsp; They found it&amp;nbsp;to work well with their Java/Mac dev tools, so TFS was a big unifying win for the company.&lt;/p&gt;
&lt;p&gt;More recently, I've taken a look at&amp;nbsp;Hg and GIT so that I can contribute to other projects here on CodePlex.&amp;nbsp; It seems&amp;nbsp;Hg and GIT are even more complicated than SVN, though they also have some similarities; e.g., they're both command-line driven and&amp;nbsp;they
 seem to push shell integration as their primary GUI.&amp;nbsp; I'll never understand the appeal of shell integration - it's not like my computer is only useful&amp;nbsp;for programming.&amp;nbsp; I.e., I don't see my entire file system as a bloated source control client :)&lt;/p&gt;
&lt;p&gt;Furthermore, neither appear to offer simple commands to accomplish common tasks like those listed above.&amp;nbsp; For example, when researching GIT, I asked&amp;nbsp;&lt;a href="http://gitscc.codeplex.com/discussions/403590"&gt;How to Get Latest From Source Control&lt;/a&gt;? and
&lt;a href="http://gitscc.codeplex.com/discussions/403592"&gt;What Commands are Supported in the GUI?&lt;/a&gt;&amp;nbsp;&amp;nbsp;The answers were surprising to me.&amp;nbsp;&amp;nbsp;In response to the latter question:&lt;/p&gt;
&lt;p style="padding-left:30px"&gt;&lt;em&gt;For your example &amp;quot;Get Latest&amp;quot; I would suggest using rebasing. Which is quite simple to use.&lt;br&gt;
&lt;/em&gt;&lt;br&gt;
&lt;em&gt;[snip - 8 step procedure]&lt;br&gt;
&lt;br&gt;
So you have the latest and your changes combined. This is just a typical workflow I use and suggest. There might be different point of views out there :)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Quite simple to use?&amp;nbsp; 8 steps?&amp;nbsp;&amp;nbsp;Typical&amp;nbsp;workflow?&amp;nbsp;&amp;nbsp;Different points of view?&amp;nbsp; All&amp;nbsp;to simply
&lt;em&gt;Get Latest&lt;/em&gt;, which TFS offers as a discrete command&lt;em&gt;?&lt;/em&gt;&amp;nbsp; Sorry, but GIT is certainly not going to be my first choice.&amp;nbsp; I still haven't quite figured it out yet :)&lt;/p&gt;
&lt;p&gt;I don't know much about Hg, but I suspect that it's similar to GIT.&amp;nbsp; At the very least, given that it seems to rely on Python scripts and a command-line interface, I highly doubt that it gives the seamless experience&amp;nbsp;in Visual Studio that I get with TFS,
 even if I used &lt;a href="http://visualhg.codeplex.com/"&gt;VisualHg&lt;/a&gt;.&amp;nbsp; (Note that I've already tried, briefly.)&lt;/p&gt;
&lt;p&gt;So to answer your question:&lt;/p&gt;
&lt;p style="padding-left:30px"&gt;&lt;em&gt;TFS?? Why?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Even if I could get the same seamless experience using a source control system other than TFS, perhaps a better question is:&lt;/p&gt;
&lt;p style="padding-left:30px"&gt;&lt;em&gt;Why not?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Full Disclosure: &lt;/strong&gt;I'm not entirely a TFS enthusiast.&amp;nbsp; I've found that it has problems too, some of which were very frustrating.&amp;nbsp; (Though maybe they've been resolved in the latest version - I don't know yet.)&lt;/p&gt;
&lt;p&gt;For me, the perfect source control system would be one that never prompted me for anything and offered no&amp;nbsp;context menu arguments at all, perhaps with the exception that sometimes I like to view history and comparisons.&amp;nbsp; Mostly it would be as if it wasn't
 even there.&amp;nbsp; 99% transparency.&amp;nbsp; Perhaps that's an entirely naïve and idealistic perspective, especially when considering the need for conflict resolution (or is there really a need for it?), but that's how I feel.&amp;nbsp; Remember that I mostly work as an individual,
 so source control to me probably has a different meaning&amp;nbsp;than to those people that mostly work on teams.&lt;/p&gt;
&lt;p&gt;- Dave&lt;/p&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Thu, 24 Jan 2013 18:31:04 GMT</pubDate><guid isPermaLink="false">New Post: TFS?? 20130124063104P</guid></item><item><title>New Post: TFS??</title><link>http://rxx.codeplex.com/discussions/430698</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Why? (seriously)&lt;/p&gt;
&lt;/div&gt;</description><author>damianh</author><pubDate>Thu, 24 Jan 2013 09:57:06 GMT</pubDate><guid isPermaLink="false">New Post: TFS?? 20130124095706A</guid></item><item><title>New Post: Usage of Either&lt;TLeft, TRight&gt;</title><link>http://rxx.codeplex.com/discussions/401272</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Dave&lt;/p&gt;
&lt;p&gt;Ahah I see your point, I hadn't considered the rammifications of closures intersecting with subscriptions. Thanks a lot for that catch, it may explain some of the problems I'm seeing at the moment. Also thanks for that link to the rx programming best practise
 you wrote and the MS one as well. Hadn't seen them before and they are very useful.&lt;/p&gt;
&lt;p&gt;Dan&lt;/p&gt;
&lt;/div&gt;</description><author>DanHarman</author><pubDate>Wed, 28 Nov 2012 09:09:35 GMT</pubDate><guid isPermaLink="false">New Post: Usage of Either&lt;TLeft, TRight&gt; 20121128090935A</guid></item><item><title>New Post: Usage of Either&lt;TLeft, TRight&gt;</title><link>http://rxx.codeplex.com/discussions/401272</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi Dan,&lt;/p&gt;
&lt;p&gt;Ah, I see.&amp;nbsp;&amp;nbsp;But my point was that the local is being shared&amp;nbsp;across multiple subscriptions, which&amp;nbsp;it seems wasn't intended.&amp;nbsp;&amp;nbsp;Consider compromising&amp;nbsp;by wrapping the entire query, including the local variable, in a call to
&lt;strong&gt;Observable.Defer&lt;/strong&gt;.&amp;nbsp; That way, every call to &lt;strong&gt;Map &lt;/strong&gt;
and every call to &lt;strong&gt;Subscribe &lt;/strong&gt;get&amp;nbsp;fresh locals, though multiple notifications for a given subscription share the same local.&amp;nbsp;
&lt;strong&gt;Defer &lt;/strong&gt;can also serve as documentation that the closure isn't a mistake.&lt;/p&gt;
&lt;p&gt;- Dave&lt;/p&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Tue, 27 Nov 2012 20:35:19 GMT</pubDate><guid isPermaLink="false">New Post: Usage of Either&lt;TLeft, TRight&gt; 20121127083519P</guid></item></channel></rss>