Steve Bjorg

Steve Bjorg Bjorg

Niner since 2009


  • Rx API in depth: Concat, Catch and On​ErrorResume​Next

    Might be useful to combine all three into one method: IO<T>.ContinueWith(IO<T> onDone, IO<T> onError).  Frankly, I was surprised by the behavior of Concat().  I expected it subscribe immediately and then serialize the observations.


    It might be helpful to come up with a naming scheme where the method name hints at if the supplied observable will be subscribed to immediately (like Zip... or should that be Combine?) and those which subscribe later.  For example the suffix "Then" may work: ConcatThen(), CatchThen(), OnErrorResumeNextThen(), RepeatThen(), etc.

  • Rx API in depth: Hot and Cold observables

    I'm curious, what is the origin of the terms "hot" and "cold?"  Were other terms considered like "static" vs. "dynamic," or "immutable" vs. "mutable?"

  • Reactive Extensions API in depth: even more Zip

    Clearly that was a mistake in the presentation.  The only time Zip would never produce a value is if either stream stops producing values and never trigger done or error (it could also be that both enter this state).  Furthermore, there is a race condition between done and error during zipping which makes the outcome unpredictable.  It all depends on which event is observed first (done or error).


    Please post a follow up video to this to correct this one.  Thanks!