Visualizing sequences

As we already know from part 1 an Observable is a sequence of ongoing events in time. These sequences and their compositions and transformations can be nicely visualized by marble diagrams in either textual or graphical representation. The visualization of Observables makes it very easy to understand what is going on even if you are not an expert in Reactive Extensions.

Textual representation

There is a simple textual representation that uses the following symbols:

SymbolDescription
–>Timelineflows from left to right
OItem emitted by a sequencewhen called OnNext
XAbnormal terminationwhen called OnError
|Successful completionwhen called OnCompleted

A sequence with 3 items looks like this:

--O--O--O--|->

Combining sequences

The following diagram visualizes the Select(f) operator applied to Seq1 that creates a result stream (Result) where each emitted value of Seq1 is replaced according to the function f. In this case f adds one to the input value:

Seq1   --1---2-----3---->
       Select(x => x + 1)
Result --2---3-----4---->

Graphical representation

Here is the graphical representation of the example from above:

Resources

Our Hackathon from the ChatGPT

Our team meets at regular intervals to work on projects together, to programme or to hold a “hackathon”. It is important to us that every

How to write cleaner parsing code

When tasked to extract information from a string, most seasoned developers – especially the ones with some kind of Linux background – will resort to