In a long-forgotten Monty Python sketch, John Cleese is driving a panel truck for the BBC. “I wanted to be in program planning,” he remarks acidly to a colleague, “But unfortunately I have a degree.”
I wanted to work in linguistics. But unfortunately personal computing was invented, and I ended up an amateur software engineer specializing in file format conversion and workarounds for word-processor bugs. I try to do a bit of linguistics in my spare time.
Left to my own devices, I would always write using William Joy’s marvelous creation, the Unix visual editor vi, creating plain text files in which I embed visible LATEX formatting codes. (As a little private joke the creator of LATEX gave it an official logo that is almost impossible to typeset unless you use LATEX — the HTML approximation I use for it here is not very good. In plain text documents the name is written as LaTeX or simply latex.) I then run pdflatex on the LATEX file, which produces a beautiful PDF. The software gives me untrammeled control over document appearance and typesetting details. It is all open-source, essentially without bugs, flexible and extensible, and completely free. (People say it’s a bit hard to learn, but c’mon, we’re intellectuals.)
However, two unpleasant realities intrude. The minor one (temporary I hope) is that the rewritten and enhanced version of vi known as vim, which runs beautifully within the Terminal program under Apple’s macOS, triggers a bug in Terminal that seems to have arrived with the upgrade from El Capitan to macOS Sierra (I upgraded to version 10.12.3; every upgrade is a downgrade): Terminal randomly closes all windows and exits with an error box during vim editing sessions. An application operating inside a shell in a window program shouldn’t be able to crash the entire terminal emulator, but that’s what happened seven times while I was drafting this post. No one can figure out why, and Apple has done nothing about it. We vim-using engineers are a small and evidently unimportant minority.
The larger and more permanent unpleasantness is that publishers (and benighted co-authors and administrators) often require me to supply Microsoft Word versions of documents. I loathe Word. Bigger and slower-loading with each successive version, its new releases regularly bury features you needed, add features you didn’t, alter the interface, and move menu items so that simple necessities take half an hour of research to rediscover. And let’s not even mention font substitution or stability of special characters when ported to other machines (don’t make me relate the disastrous skull and crossbones incident).
My favorite WYSIWYG processor is (one almost wants to say “was”) WordPerfect. By the time of version 6 under either DOS or Windows, it was a superb product (The Cambridge Grammar of the English Language was written using it, and was then formatted in India using LATEX). The sorry tale of WordPerfect’s decline among most user communities (it survives in the legal profession) is told here. Today it has no version that runs on a Mac.
Word has always lacked features like WordPerfect’s wonderful Reveal Codes mode, which permits you to see the exact locations of the normally invisible formatting codes in the file. Once I found my Word letter template file had become infected with secret codes telling Word that the text was supposed to be in French, so that all English words typed in were marked as misspelled unless they were accidental homographs of French ones, and French formatting defaults were enforced (an unpaddable space added before a colon, for example). Locating and fixing the secret invisible stuff that caused this was amazingly hard.
When I have to turn a beautiful LATEX file into a much inferior Word file that looks worse, my will to live is sustained only by the brilliant file-conversion tool and suicide prevention utility pandoc. (Almost unbelievably, it was written by an active professor of philosophy: John MacFarlane of UC Berkeley. Thank you, John. I love you.)
Pandoc does a wonderful job of interconverting many different word-processing formats. But I still have to spend hours simplifying my LATEX code to make pandoc perform better, and then, after letting pandoc do the bulk of the work, fixing the remaining glitches caused by Word’s quirks and misfeatures.
That is how I spend much of my time. I wanted to be a linguist, but I ended up a file-conversion engineer and document-processing debugger. I guess it’s marginally better than driving a truck for the BBC.