Software I've installed for local use
Updated November 27, 1997
November 27, 1997: Added file: link to some manuals
Software I've installed on CS Lab machines:
- CWEB 3.4g -- programs ctangle and cweave. I have
increased some internal limits to much larger values. For example,
line lengths of up to 2000 characters should now be ok, instead of the
standard 100 characters. Ask me for the .ch files for
the ctangle, cweave, and common modules.
- Autoconf 2.12 -- automatic configuration of software packages you write.
- Automake 1.0 -- generate Makefile.in files for use by Autoconf.
- Kaffe 0.9.1 -- Java Virtual Machine with Just-In-Time (JIT) compilation (but Pizza 1.1 compiler exposes bugs in Kaffe).
- Pizza 1.1 -- an extension to Java incorporating many functional goodies.
- GNU Smalltalk 1.1.5 -- (It has a dopey bug: 5.5+9 doesn't work.)
I have removed this in favour of Apple Research's Squeak 1.21
Stay tuned. (See /u/neto/pub/share/Squeak)
- texi2html 1.51 -- convert GNU TeXinfo files to HTML.
- wget 1.4.4 -- command-line fault-tolerant client for ftp and http downloads.
Then there are the manuals
for some of the above. Sorry, but they're available only to those on
the CS Lab machines.
The rest of this page is mostly hopelessly out of date. Sorry.
This page describes some software tools
I've installed and how anybody in DCS or EECG
can also use them.
The DCS and EECG versions may be out of sync. Sorry.
Contents
My public area on the CS machines is structured as follows:
- /u/neto/pub/bin: scripts
- /u/neto/pub/bin/sun4: binaries for Sun 4 (SPARC)
- /u/neto/pub/share/cweb: include files for CWEB
- /u/neto/pub/share/doc: full manuals and examples, with subdirectories by tool name
- /u/neto/pub/share/emacs: Emacs libraries, etc. (I don't use Emacs...)
- /u/neto/pub/share/man: manual pages
(use the man program)
- /u/neto/pub/share/tex/inputs: TeX macros
On the EECG system,
you can access my public area at ~neto/pub. There you can
find documents, libraries, and programs that I think are useful to the
local community. Unless otherwise specified, all this software is
freely redistributable.
The programs are contained in ~neto/pub/bin. SunOS
SPARC binaries are in ~neto/pub/bin/sun4 and AIX RS/6000 binaries
are in ~neto/pub/bin/rs6k. Manual pages are in
~neto/pub/man. Other files are in the appropriate places under
~neto/pub: feel free to poke around.
CWEB
I have installed Knuth and Levy's
CWEB literate programming system.
One edits a single document containing both TeX and C that gets
processed in two ways.
When the
document is tangled,
a C compilation unit and its associated
header files are generated, suitable for compilation.
When it is woven, a TeX file is generated, which produces
a human-oriented, cross-indexed, successive refinement presentation
of the compilation unit: a glorified listing.
I do all my research programming in CWEB, and I highly recommend it.
Knuth makes a strong case for literate programming his
book Literate Programming.
In an
online interview,
Knuth claims a binary order of magnitude increase in his productivity
over using just plain C.
There is also a
CMU
web page
about literate programming but I haven't looked at it. You should
also check out the
FAQ for the
comp.programming.literate newsgroup.
For examples of CWEB in action,
see Knuth's book The Stanford GraphBase and
corresponding online
software.
There are other
online literate programming samples.
Many people prefer Latex to plain TeX.
Joachim Schrod has written a
cweb package for
Latex2e.
The idea is that the documentation markup is done in Latex's
structured environment instead of at the decidedly lower level provided
by plain TeX. This Latex2e package is already installed on the CS machines
(actually, a slightly newer version is available). I have not used it yet,
but may switch to it soon.
It
requires CWEB version 3 or later.
The CWEB software
is freely available, and works equally well
with both C, C++, and Java, but I've only tested it with C.
I have installed CWEB version 3.4g.
To use CWEB on the CS machines, you need to:
- Add /u/neto/pub/bin/sun4 to your path (I've only installed
it for Sun 4.
- Add /u/neto/pub/share/tex/inputs to your TEXINPUTS
environment variable so that ctangle can find its macros
when typesetting your code.
- Add /u/neto/pub/share/man to your MANPATH
environment variable so that you can find the cweb manual page.
(Both man ctangle and man cweave are equivalent
to man cweb.)
If you have problems with this setup, please
tell me.
To use CWEB on the EECG machines, you need to:
- Add ~neto/pub/bin/arch to your path, where arch
is one of sun4, rs6k, sgi.
- Add ~neto/local/share/tex/inputs to your TEXINPUTS
environment variable, so that ctangle can find its macros
when typesetting your code.
- Add ~neto/local/man to your MANPATH
variable, so that you can find the cweb manual page.
If you have problems with this setup, please
tell me.
WEB
For those of you still using WEB (that would be nobody that I know), here's
what you need to know.
- On CS, both tangle and weave (from the original
WEB system) are already installed, so I didn't have to do it.
- On EECG, I've also installed a
Sun 4 version of tangle and weave.
Actually, the only reason I installed these was so that I could install
MetaPost.
Metapost
MetaPost is a program written by John Hobby.
It is a graphics language based on Knuth's
Metafont, but with PostScript output and facilities for including
typeset text.
I have not installed it on the CS machines. It shouldn't be that
hard, but I'll wait until I have a need for it.
On the EECG machines,
I have only installed the TeX-related support for MetaPost, and not
the troff-related support. In fact, I couldn't find an EECG
directory that has virtual fonts in them, so
the search path for virtual fonts are not properly set up.
(Doh! I just remembered that virtual font support was added to TeX in
version 3.0, and we've only got 2.991 installed. So the point is mostly
moot.)
The aforementioned facilities for including typeset text do not
work with PostScript fonts because that requires virtual font support.
So you must stick with TeX's fonts, which are installed. But then
you must use mp's output with a driving dvi file,
and then use
dvips to create a PostScript file. Phew! This will be the normal
case anyway.
April 21, 1997: I later realized I was looking in the wrong
places on EECG:
TeX 3 is installed, so these limitations could be taken away.
But I won't be doing it, as I do little work on EECG nowadays.
I've moved this information to my Java page.
Back to David Neto's home page