A picture of me
Jens Thoms Törring
Email:    jt@toerring.de
Tel.:      +49 - (0)30 - 691 64 54

About me

Being a physicist by training (having mostly worked in the field of Electron Spin Resonance (ESR)) I got sidetracked into fiddling with computers. One of the results is a program for controlling spectrometers, fsc2 and a number of Linux device drivers (see below). I also have worked as a member of the web team of the Free University Berlin, developed the back-end for a web site and wrote a software package for evaluating and visualising neuro-psychological data while being employed at the Dept. of Education and Psychology. Currently I'm working as a contractor on a project with a psychologist and, for a startup company that produces charge points for electric vehicles, on an embedded (Linux) system and microcontroller. In my spare time I'm the maintainer of the XFormstoolkit library. Some of the results of what I've been involved in can be downloaded from the links below.

Software and other stuff

* fsc2 is a program for controlling spectrometers. Its main features are: easy to adapt to different hardware; running an experiment is controlled by a simple interpreted language, so it can be used to do basically all kinds of experiments, i.e. it's not restricted to a certain built-in set.
* Fsc3 is a project in its infancy, intended to supply self-contained modules for C++, C and Python for controlling devices used in physics and chemistry labs, which can directly used for other programs.
* A project I'm very much interested in tries to support teachers at primary schools and kindergardens to do science education via an inquiry-based learning method (i.e., the children figure out things by doing experiments themselves, not by having the teacher tell them how things are supposed to work). I'm one of the collaborators (mostly taking care of the technical side of things) of the German mirror-website of the French site La main à la pâte:

Sonnentaler – La main à la pâte

The website is supported by the Académie des sciences, the Berlin-Brandenburgische Akademie der Wissenschaften and the Freie Universität Berlin.
* I'm one of the maintainers of the XForms GUI toolkit for X which can be downloaded from


The project homepage is at xforms-toolkit.org.
* I had the very good luck of getting asked to do a bit of technical reviewing for an amazingly good book about system programming under Linux and UNIX by Michael Kerrisk (who is also the long-term maintainer of the Linux man-pages project):

The Linux Programming Interface (TLPI)

If you are seriously interested in programming under Linux/UNIX I strongly recommend that you take a good look at this book (don't mind the price: you get more than 2.3 kg of a book with 1500+ pages which has taken about a decade to write). I consider it to be the most comprehensive and well-written book available on this topic and a worthy successor to W. Richard Stevens' famous Advanced Programming in the UNIX Environment. Well, if you dont believe me, there's a photo of Linus Thorvalds himself from a Wired article with the book being discernible in the stack of books on his desk;-)
* sha_digest is a package that implements the SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 hash digest algorithms as defined by the FIPS 180-3 standard (for both byte- and bit-oriented messages).
* AES256 is a C++ implementation of the AES-256 cipher method, supporting a number of block chaining and padding modes.
* Linux device driver and library for the National Instruments 6601 GPCT (General Purpose Counter and Timer) card, allowing event counting, pulse generation and DIO:

ni6601.tar.gz (md5sum: 1fbd547d31796d74e3507e819eef1a10)

Last update: November 18, 2015
* Linux device driver and library for National Instruments PCI E-Series DAQ cards (tested with PCI-MIO-16E-1 only):

ni_daq.tar.gz (md5sum: ac9d98783728bd8fe718f030b4337ddf)

Last update: August 26, 2015
* Linux device driver and library for the ISA DIO WITIO-48 card by Messcomp Datentechnik GmbH:

witio_48.tar.gz (md5sum: 3c34223342a77dcc8a62a39a21d48a84)

Last update: November 18, 2015
* Linux device driver and library for the RULBUS (Rijksuniversiteit Leiden BUS), including support for RB8509 (12-bit ADC), RB8510 (12-bit DAC), RB8514 (delay) and RB8515 (clock) cards:

rulbus.tar.gz (md5sum: 33eaf9a17c54a7e6f9699d2677366c4c)

Last update: November 18, 2015
* Linux device driver and library for the Meilhaus Electronic GmbH ME6000 and ME6100 DAC cards. The driver is an adapted version of an older one (from 2002) supplied by Meilhaus (under GPL). Please see also the Meilhaus homepage, they supply much newer drivers and a library that rather likely is much superior.

me6x00.tar.gz (md5sum: 5a30d29559ed3cc72aa655411776f97e)

Last update: November 18, 2015
* Linux device driver and library for National Instruments GPIB cards (AT-GPIB/TNT and PCII(A), but also seems to work with some other cards based on the µPD 7210 chip):

GPIB-1.1.2.tar.gz (md5sum: 9349ade1f7393a5272d4c4ffa8c5d16f)

Also includes a Perl package for talking to the GPIB devices. Last update: November 4, 2008
Please note: for most cases I would recommend to use drivers from the Linux GPIB Package, which probably is more mature.
* Perl module for file locking using fcntl(): Perl's file locking function flock() usually is based on the flock() system call which has some known shortcomings and, in contrast to fcntl(), does not allow locks on parts of a file. Obviously, this module will only work on systems having a fcntl() system call. Download via CPAN:


Last update: May 27, 2014
* A program (from the end of the last century) for the calculation of EPR G-tensors from the results of semi-empirical MO calculations (probably UNIX only):

g_rhf.tar.gz (md5sum: 0c09f2954fb6d1f5f6162104b286526f)

See the README file for instructions on installation and command line options.
* xloa is a program for playing a strategic checkers-like game called LOA ("Lines of Action") a friend of mine, Christian Weninger, and I wrote together.
* mx.c is a program to demonstrate how to send an MX request to a DNS server and interpret what gets returned.
* Free ebooks (in German only)
* Programs for Pocketbook Touch and Touch Lux (PB622 and PB623) ebook readers
* My doctoral thesis in PDF and (compressed) Postscript format

jtt_thesis.pdf     jtt_thesis.ps    jtt_thesis.ps.gz

Sorry, it's rather old (from 1996) and in German only.

Please note: The Linux device drivers you can download here seem to compile cleanly with 2.6, 3.0, 3.2, 3.13 and 3.16 kernels I tried but due to the rapid pace of development of the kernel I can't guarantee that they compile on all kernel version in existence. And, since I don't have access to all the hardware under all kernel versions, I also couldn't do tests for all possible combinations. Please let me know if you encounter problems.

Last modified: December 1, 2016 Valid XHTML 1.0 Strict Valid CSS!