History of Therion


“Usually only computer programmers are able to learn therion.”
“Xtherion is not a user interface, it is only an advanced text editor with a funny history.”

In the 1990s Martin Budaj and Stacho Mudrák did a lot of caving and cave surveying. Some computer programs existed which displayed survey shots and stations after loop closure and error elimination. These were a great help, especially for large and complicated cave systems. They used, as many use till now, the output of one of them - TJIKPR - as a background layer with survey stations for hand-drawn maps. BTW, TJIKPR program was developed by Martin and Stacho to collect surveying data from Cave of Dead Bats, too.

They started to collect survey data from a 20 km long cave system (Cave of Dead Bats) and they drew a complete atlas of the cave by hand.

Martin Budaj had learned metapost and he showed that it is able to draw map symbols - but Stacho was skeptical about it and they let it be.

After finishing a huge 166 page atlas of Dead Bats Cave, they soon had a problem: new passages were discovered which connected known passages and they were surveyed. After processing in TJIKPR, the new loops influenced the position of the old surveys; most survey stations now had a slightly different position from before due to the changed error distribution. So they could either draw the whole atlas again, or accept that the location of some places was not accurate (in the case of loops with a length of approximately 1 km there were sometimes errors of about 10m) and try to distort the new passages to fit to old ones.

These problems remained when they tried to draw maps using the AutoCAD program. It was always hard to add new surveys without adapting the old ones to the newly calculated positions of survey stations in the whole cave. They found no program that was able to draw an up-to-date complex map (i.e. not just survey shots with LRUD envelope), in which the old parts are modified according to the most recent known coordinates of survey stations.

They stopped using AutoCAD (when they were unable to add new passages after huge loops were closed). They began to think about creating their own program for map drawing. They knew about programs which were perfectly suited for particular sub-tasks. There was METAPOST, a high level programming language for vector graphics description, Survex for excellent processing of survey shots, and TEX for typesetting the results. They only had to glue them together.

  • October - first concrete ideas. The name Therion came into being in a train from Bratislava to Banská Bystrica between stations Tlmače and Kozárovce near settlement Za Skalou with help of Ancient Greek → Czech dictionary for the New Testament.
  • November - start of programming (Perl scripts and METAPOST macros).
  • December 27 (Xmas 1999) - Therion compiles a simple map for the first time (32 kB of Perl and METAPOST source code). This first release had some interesting features such as transformation functions, which alowed user-specification of the input format for survey data.
  • January - Stacho created a first user interface - xthedit (Tcl/Tk): clicking on the image created a line of code, but there were some problems with morphing and it was still not usable. The first version of xtherion did not have any lines or points; you just clicked on the image and corresponding text appeared in the text editor :)
  • February 18th - start of the (first?) reprogramming (Perl)

There was a brainstorming session with Martin Heller in Zürich, a lot of problems were discussed. After this they changed the morphing function to its current state. Martin Budaj started with a project in Delphi with some visual tool. It was working, but there were a lot of problems porting Delphi codes to linux. At that time, they were using Linux almost exclusively, and there were no portable GUI's between Win32 and Linux.

Stacho got married and he stopped going caving quite so often :), so he started to code the main engine of therion. Stacho coded the core elements of therion (points, lines, etc…). Maps were working, but there was no editor. Then one day a big flood came, with the Danube's water in the office he worked in and therefore they had unexpected holidays. Stacho had nothing to do, so he just modified the old version to support points and lines. This was enough for them to digitize over 20 km of cave.

  • November - start of reimplementation from scratch: Therion (C++ with some Perl scripts inherited from the previous version); interactive 2D map editor ThEdit as a replacement of xthedit (Delphi).
  • December - ThEdit exports a simple map for the first time.
  • March - Therion 0.1 - Therion is able to process the survey data (centreline) of Dead Bats Cave. XTherion, text editor designed for Therion (Tcl/Tk).
  • July 27 - Therion 0.2 - Therion compiles a simple map (consisting of two scraps) for the first time (800 kB of source code).
  • August - XTherion extended to 2D map editor (as a replacement of ThEdit).
  • September - Therion compiles first real and complex map of a cave. XTherion extended to compiler.
  • October 7th - therion mail conference on yahoogroups.
  • October 14th - therion conference moved on freesoftware.fsf.org.
  • November 19th - Wookey started the Debianization of therion.
  • January 3rd - beta version of Debian package (Wookey).
  • March - first version of Therion Book finished (Martin Budaj).
  • April - Therion included in Debian GNU/Linux (Wookey).
  • June - all Perl scripts rewritten in C++, Therion is one executable program now (although using Survex and TEX).
  • August - new mailing list running on speleo.cz (Ladislav Blažek).
  • March - Therion 0.3 - Therion exports 3D model created from 2D maps. Loop closure algorithm included into Therion.
  • December - therion wiki pages on speleo.cz (Ladislav Blažek)
  • August - buttons added to xtherion map editor (Dimitrios Zachariadis).
  • October - Therion 0.4 - new 3D viewer.
  • November 24th - therion pages were moved from terrible pipni.cz hosting to a more stable enviroment. Mailing list and wiki pages moved to speleo.sk (Ladislav Blažek).

From 2002, a lot of features were added, but nobody made any substantial change in user interface with the exception of the buttons made by DZach. Now the therion project is waiting for another flood, when Stacho and Martin Budaj (or somebody else) will have a lot of time to code a new user interface :)