A software Strad

Look around you: what do you see?  Lots of different things, obviously. In particular, a world awash in “technology”. This term comes from the Greek word \tau\epsilon\chi\nu\eta, (the spirit of) craftsmanship and skill. Products of human ingenuity are roughly of two types, of which an iPhone and a spoon are obvious representatives. No matter how wonderful the current model of iPhone, the next one will be better, but not as good as the one after. I am both being sarcastic — another word of Greek origin — and trying to illustrate a point: the iPhone represents technology in flux. Without technology in flux there is no capitalism, a startling thought! A spoon, on the other hand…

But why a spoon? The most glorious example of the other type of technological product is a Stradivari violin. Stradivari was a luthier (this is what they are called) in Cremona, between Milan and Mantua, and his glory days were in the beginning years of the eighteenth century. No-one has ever bettered his violins, which are still played (some of them can be seen in the Ashmolean museum in Oxford). A violin is an example of a technological design that has reached perfection: no change in construction will make it more of a violin.

Now, here is a question. Is there an equivalent of a Strad among high-tech products? I think there is. It is a piece of software constructed by no less a craftsman in his domain than Stradivari was among luthiers, the legendary computer scientist Donald E. Knuth of Stanford. While working on his ever expanding magnum opus, The Art of Computer Programming, he became dissatisfied with the quality of mathematical typesetting his publisher could offer him. At the same time he realised that typesetting is simply telling your printing device where to put, or not to put, a tiny drop of ink, thus a computer science problem.

The result was TeX (pronounced Tech, since it comes from the spirit Techne) and Metafont. The first is a programming language for typesetting and the second is a tool for constructing fonts, of whatever you want: mathematical symbols, chemical formulae, music, chess. The only problem was that Knuth’s TeX in its infancy, in 1978, was difficult to learn. Then Leslie Lamport of DEC  streamlined TeX in the mid-1980s, and the result was LaTeX, which solves 99.9% of all typesetting problems, not just in mathematics but tout court. LaTeX has been slightly updated by Frank Mittelbach in 1994, giving rise to LaTeX 2e, and this is the piece of software that is closest to a Strad in my opinion. If you want to see what can be done with it, navigate through http://www.ctan.org and feast your eyes on http://www.tug.org/texshowcase. If it is worth doing, there is a style file for it, and if there isn’t, you can always write your own using TeX primitives. The software runs on every platform known to woman (I have it on a Nokia N800, don’t know why though). The output is perfect, there are no bugs, it will never swallow your document, and it is absolutely free (unlike a Strad, for which you have to fork out at least a million pounds).

Every mathematician uses LaTeX, most physicists, some chemists. It has not won over the humanities, because I think it is at heart a programming language and so the logic of saying \underline{something} to underline something is alien to people who do not think procedurally. This is a pity, because LaTeX is a perfect publishing tool: creation of tables of contents, foot- and endnotes, cross-referencing, indexing, etc. are all done either automatically or with a minimum of fuss. (And it’s not confined to paper publishing: subsets of LaTeX are implemented in the systems used by our hosts at WordPress and by Moodle to embed maths in web pages — learn some basic LaTeX and you’ll find it a lot easier to communicate mathematics online!)

When asked how he works, Knuth said in a recent interview that he only trusts Linux (the great man runs Ubuntu), uses emacs, TeX, gv and dvips. Don’t worry about gv and dvips, but emacs (developed more or less by Richard Stallman in 1984 as part of the GNU project) is a world in itself, a Guarneri of software.


This entry was posted in Articles. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.