Brian Kernighan
This page isn't being updated after 2008/03/31;
check this mirror,
especially for AWK source.
Web interface to
the AMPL modeling language
for mathematical optimization.
You can
try AMPL
on your own optimization problems or examples from
the AMPL book.
The second edition was published Nov 2002.
Publications:
-
The C Programming Language home page.
-
The Practice of Programming home page.
-
The Unix Programming Environment home page.
-
The AWK Programming Language home page.
-
AMPL: A Modeling Language for Mathematical Programming home page.
-
Scanned pages of An Efficient Heuristic Procedure
for Partitioning Graphs
(Bell System Technical Journal, February, 1970); 750KB pdf.
-
Scanned pages of An Effective Heuristic Algorithm
for the Travelling-Salesman Problem
(Operations Research, March, 1973);
the format needs work.
-
Why Pascal is Not My Favorite Programming Language (April, 1981).
-
WiSE - A Wireless System Engineering Tool, an application of computational geometry, optimization
and visualization to wireless.
- Experience with Tcl/Tk for Scientific and Engineering Visualization,
programming issues in the wireless work above;
a version appeared in the Tcl/Tk Workshop, Toronto, 1995.
(Careful: 11Mb of Postscript when unzipped.)
- Extracting Geometric Information from Architectural Drawings,
with Chris Van Wyk,
from the Workshop on Applications
of Computational Geometry, Philadelphia, May, 1996.
(630K)
-
Timing Trials, or, the Trials of Timing:
Experiments with Scripting and User-Interface Languages,
with Chris Van Wyk, describes experiments to see how fast various scripting
and user interface languages,
from Awk to Visual Basic, run on a spectrum of representative tasks.
Postscript version (250KB).
The tests themselves
are also available, as is
the input data (1.7Mb).
Updated 11/30/97.
-
"An AWK to C++ Translator"
(Postscript) describing an early experiment; published in the
Usenix C++ conference in 1991
but hard to find.
-
"Experience with the Mergenthaler Linotron 202 Phototypesetter,
or How We Spent Our Summer Vacation"
(PDF) moving troff from the C/A/T to the 202.
-
Bibliography in
bibtex format or in
html format.
Software (caveat emptor):
- Information about the
AMPL modeling language
for mathematical optimization.
-
I have had trouble updating this code, so the current version
(October 23, 2007) is found at Princeton:
newest Awk source
Source for the one true awk, updated May 1, 2007.
Shell archive;
gzipped tar file;
zip file.
There is also a
Windows executable.
-
Examples from The AWK Programming Language
by Aho, Kernighan, and Weinberger
as text (120KB)
or
zipped (30KB).
-
All the example code from The Unix Programming Environment
by Kernighan and Pike:
gzipped tar file;
zip file.
- Source for
the hoc calculator from The Unix Programming Environment
by Kernighan and Pike.
-
Software Tools programs
-
Software Tools in Pascal programs
-
Source for
learn, the original Unix computer-aided instruction program.
This works but is mostly of historical interest;
it dates from about 1979.
(If your version of the ar command gives you trouble,
this version has the files already extracted and does not use ar.)
- A very dusty version of
code for algorithm animation (with Jon Bentley).
- Code for
timing tests (with Jon Bentley and Chris Van Wyk,
updated 7/96).
- Miscellaneous
ancient typesetting code, including
chem
and
indexing tools
(with Jon Bentley).
Sun Mar 30 13:32:10 EDT 2008