First, for purposes of this document, I define a complex
(elongated) system as one that requires several discrete processes (often
running but not necessarily concurrently)
to coordinate and produce a result.
For example, in the 90’s I developed a system marketed by
IBM as Remote Operator that allowed an operator on a DOS based PC to connect to
and ‘run’ a remote computer running a custom operating system (Flex OS) via SDLC
protocols. In its most elongated configuration, the PC connected via 7
intermediaries for a total of 9 computers end to end.
In more a more recent example, I work on a system to analyse
banking systems and derive the data flow (lineage) through static analysis of
the source code. This requires several
layers of processing where each layer produces results processed by the next
layer.
These systems never work first time. In order to understand the points of failure
it is necessary to see intermediate results in a side-by-side view or even a
side-by-side-by-side view. As such,
abundant screen pixels make creating these views easier.
For these reasons I have devised methods to configure
multiple screens with KVM (keyboard, video, mouse) switches that employs
multiple CPUs (which isolates systems and reduces interference and
disturbances). This is described in detail in KVM Configuration with multiple mice and displays
Once multiple systems are being used it is convenient, if not necessary, to be able to clipboard copy text from one system to another. The NetClip Utility implements such a facility.
Elongated systems typically involve many lines of code in various languages spread across many modules. I found jEdit to be an editor that is up to the task. In particular, with the Eclipse interface I was able to create, I ended up with the best of breed in both compilation and editor technologies. This is described in Entering the Best Editor Fray