Jeffreys Copeland & Haemer's ``Work'' Articles and Software


This page was last updated 1 November 2017.

In April, 1995, we began writing a column entitled ``Work'' for RS/Magazine. This followed our earlier RS series on Internationalization (5/92-4/93), POSIX (8/93-12/94), and Literate Programming (1/95-3/95). Collectively, we refer to all of these as the ``Jeffreys columns''. In April, 1997, ``Work'' moved to SunExpert (later renamed Server/Workstation Expert), published (like RS was) by the really nice folks at The Computer Publishing Group in Boston. Unfortunately, in December, 2001, CPG suspended publication of S/W Expert, so the Jeffreys are on haitus.

However, we occasionally post more recent things we've done that you might find interesting on our ``New Work'' page.

two guys with droopy moustaches
(Allie Copeland took this picture of us one evening while we were reviewing proofs of a column. Or maybe she just caught us without our normal beer glasses in hand. That's Copeland on the left, Haemer on the right.)

The purpose of the ``Work'' column is to explore some of the problems we run across in getting our jobs done (or problems we find when we're messing around avoiding work) and how they can be solved with the application of a little bit of software.

The software for our columns is available, too, but not on the mobile version of the web page. You'll need to download it via a desktop browser.



Some of our columns are written using the CWEB literate programming tool. WEB was the original literate programming tool, a confluence of Pascal and TeX which Donald Knuth invented to write the TeX typesetting system. It allows tightly-coupled code and program documentation to share the same source file. The source can be preprocessed by weave to generate input for TeX, in order to produce nicely formatted program listing and documentation; or it can be preprocessed by tangle to extract only the code parts, in order to be compiled and executed.

CWEB is an variant of WEB by Silvio Levy and Knuth which uses C instead of Pascal for the programming language. The sources for version 3.4g of CWEB -- the ctangle and cweave processors, and accompanying macros and documentation -- are available here in a compressed tar file. You will need TeX to format the documentation and the output of cweave. For that you want to look at the Comprehensive TeX Archive Network, CTAN.

More information on WEB and CWEB can be found in:

  • Knuth, Donald E: ``Literate Programming,'' Computer Journal, vol 27: nr 1, January 1984, pp 97-111. (This was the original report on WEB.)
  • Bentley, Jon & Donald E Knuth: ``Programming Pearls: Literate Programming,'' Communications of the ACM, vol 29: nr 5&6, May-June 1986, pp 364-369, 471-483.
  • Knuth, Donald E: ``How to Read a Web,'' in TeX: The Program, Addison-Wesley, 1986, ISBN 0-201-13437-3, pp viii-xiii.
  • Copeland & Haemer: ``Literate Programming,'' in RS/magazine, vol 4: nr 1, January 1995, pp 26-30. (This article is not currently available on our web page, unlike our Work series.)
  • Knuth, Donald E & Silvio Levy: The CWEB System of Structured Documentation, Addison-Wesley, 1994, ISBN 0-201-57569-8.
  • Knuth, Donald E: Literate Programming, Center for the Study of Language and Information/Cambridge University Press, 1992, ISBN 0-937073-80-6.

  • You can send us each e-mail: Jeffrey L Copeland or Jeffrey S. Haemer. Or you can send us both mail at the same time.

    This page was last updated 1 November 2017.