Pensieve header: Experiments with making timelines.

events = Table[
{s=RandomReal[30], s+RandomReal[3]^2},
{64}
]

TimeLine[ev_List] := Module[{j,k,oc,levels},
levels={};
For[k=1, k≤Length[ev], ++k,
oc={};
For[j=1, j<k, ++j,
If[Last[ev[[j]]]>First[ev[[k]]] && First[ev[[j]]]<Last[ev[[k]]],
AppendTo[oc, levels[[j]]]
]
];
For[j=1, MemberQ[oc, j], ++j];
AppendTo[levels, j]
];
Print[{Max[levels], levels.(({-1,1}.#)& /@ ev)}];
Graphics[{
Thickness[1/Max[levels]], CapForm[None],
Table[
{
Hue[RandomReal[]], Opacity[0.5],
Line[{levels[[{k,k}]], -ev[[k]]} // Thread],
Black, Opacity[1],
Text[k, {levels[[k]], Total[-ev[[k]]]/2}]
},
{k, Length[ev]}
]
}]
]

GraphicsRow[{TimeLine[events],  TimeLine[SortBy[events, First]],  TimeLine[SortBy[events, ({1,-1}.#)&]]}]