Introduction - a little geometry
In the comfortable Euclidean geometry seen on billions of video displays two
parallel straight lines can be described as
ax + by + c1 = 0 and ax + by + c2 = 0
and the distance between the two lines can be calculated as
|c1 - c2 | / √ (a2 + b2)
In an infinite Euclidean geometry two straight lines are either parallel or they eventually intersect. It
has always been simple to draw crisp horizontal and vertical lines. As pixels have gotten more numerous
and smaller, and as screen real estate has increased it has gotten somewhat easier for viewers to visually
distinguish that a programmer really meant to depict a straight line. It has also become less difficult to
determine if lines are truly parallel or merely quasi-parallel, meaning that their intersection is well
beyond the visible area.
In many non-Euclidean geometries lines become geodesics, and these can either intersect; be parallel
(so they intersect at infinity); or be ultra-parallel (do not intersect event at infinity).
As program construction shifts away from simple linear models using one thread on one core it is useful
to keep non-Euclidean geometries in mind as the programmer navigates among different execution
acceleration strategies. Similarly, as national strategies shift from what is best for one's tribe to how an
entire economic ecology interacts, more is expected of political leaders. Astute readers will discern that
Black Swan events like major earthquakes are thankfully rare, and are, despite our efforts, very difficult
to predict. Nevertheless, leaders must at least plan for them.