Knuth: All Questions Answered
sunhou writes: "The AMS published a lecture by Donald Knuth called All Questions Answered (pdf), where Knuth simply responded to questions from the audience. Topics ranged from errors in software ('I think Microsoft should say, "You'll get a check from Bill Gates every time you find an error"') to how he gets distracted by fonts on restaurant menus, to software patents. There were some really good questions (and responses)."
So I made up my own Knuth interview
All Questions Answered
Donald Knuth
318 NOTICES OF THE AMS VOLUME 49, NUMBER 3
On October 5, 2001, at the Technische Universität
München, Donald Knuth presented a lecture entitled "All Questions Answered". The lecture drew an audience of around 350 people. This article contains the text of the lecture, edited by Notices senior writer and deputy editor Allyn Jackson.
Originally trained as a mathematician, Donald
Knuth is renowned for his research in computer science, especially the analysis of algorithms. He is a prolific author, with 160 entries in MathSciNet. Among his many books is the three-volume series The Art of Computer Programming [TAOCP], for which he received the AMS Steele Prize for Exposition in 1986. The citation for the prize stated that TAOCP "has made as great a contribution to the teaching of mathematics for the present generation of students as any book in mathematics proper in recent decades." The long awaited fourth volume is in preparation and some parts are available through Knuth's website, http://www-cs-faculty. stanford.edu/~knuth/.
Knuth is the creator of the TEX and METAFONT
languages for computer typesetting, which have
revolutionized the preparation and distribution of
technical documents in many fields, including mathematics.
In 1978 he presented the AMS Gibbs Lecture
entitled "Mathematical Typography". The lecture
was subsequently published in the Bulletin of the
AMS [MT].
Knuth earned his Ph.D. in mathematics in 1963
from the California Institute of Technology under
the direction of Marshall Hall. He has received the
Turing Award from the Association for Computing
Machinery (1974), the National Medal of Science
(1979), the Adelsköld Medal from the Royal Swedish
Academy of Sciences (1994), the Harvey Prize from
the Technion of Israel (1995), the John von Neumann
Medal from the Institute of Electrical and Electronics
Engineers (1995), and the Kyoto Prize from the
Inamori Foundation (1996). Since 1968 Knuth has
been on the faculty of Stanford University, where
he currently holds the title of Professor Emeritus of
The Art of Computer Programming.
--Allyn Jackson
Knuth: In every class that I taught at Stanford,
the last day was devoted to "all questions answered".
The students didn't have to come to class
if they didn't want to, but if they did, they could
ask any question on any subject except religion or
politics or the final exam. I got the idea from
Richard Feynman, who did the same thing in his
classes at Caltech, and it was always interesting to
see what the students really wanted to know. Today
I'll answer any question on any subject. Do we
allow religion or politics? I don't know. But there
is no final exam to worry about. I'll try to answer
without taking too much time so that we can get a
lot of questions in.
So, who wants to ask the first question?... Well,
if there are no questions...[Knuth makes as if to
leave.]
Question: There was a special report to the American
president, the PITAC report [PITAC], containing
some recommendations. I am wondering
whether you would be willing to comment on the priorities
outlined in these recommendations:
better software engineering, building a teraflop
MARCH 2002 NOTICES OF THE AMS 319
computer, improvements in the Internet including
higher security and higher bandwidth, and the
socio-economic impacts of managing information
available via computer networks.
Knuth: I think that's a brilliant solution of the
problem of what to present to a president. But in
fact what I would like to see is thousands of computer
scientists let loose to do whatever they want.
That's what really advances the field. From my experience
writing The Art of Computer Programming,
if you asked me any year what was the most important
thing that happened
in computer science that year,
I probably would have no answer
for the question, but over
five years' time the whole field
changes. Computer science is
a tremendous collaboration
of people from all over the
world adding little bricks to a
massive wall. The individual
bricks are what make it work,
and not the milestones.
Next question?
Question: Mathematicians
say that God has the "Book of
Proofs", where all the most
aesthetic proofs are written.
Can you recommend some
algorithms for the "Book of Algorithms"?
Knuth: That's a nice question.
It was Paul Erdos who
promulgated the idea that God has a book containing
the best mathematical proofs, and I guess
my friend Günter Ziegler in Berlin has recently
written about it [PFB].
I remember that mathematicians were telling
me in the 1960s that they would recognize computer
science as a mature discipline when it had
1,000 deep algorithms. I think we've probably
reached 500. There are certainly lots of algorithms
that I think have to be considered absolutely beautiful
and immortal, in some sense. Two examples
are the Euclid algorithm and a corresponding one
that works in binary notation and that may have
been developed independently in China, almost as
early as Euclid's algorithm was invented in Greece.
In my books I am mostly concerned with the algorithms
that are classical and that have been around
for a long time. But still, every year we find brand
new ideas that I think are going to remain forever.
Question: Do you have thoughts on quantum
computing?
Knuth: Yes, but I don't know a great deal about
it. It's quite a different paradigm from what I'm used
to. It has lots of things in common with the kind
of computing I know, but it's also quite mysterious
in that you have to get all the answers at the end;
you don't make a test and then have that determine
what you do next. A lot of you have seen the movie
Lola rennt (called Run Lola Run in the U.S.), in which
the plot is played out three different times, with the
outcome taking three different branches. Quantum
computing is something like that: The world goes
into many different branches, and we're interested
in the one where the outcome is the nicest.
I'm good at nonquantum computing myself, so
it's quite possible that if quantum computing takes
over, I won't be able to do the new stuff. My life's
work is with computers not
because I'm interested so
much in computation, but because
I happen to be good at
this kind of computing. Fortunately
for me, I found that
the thing I could do well was
interesting to other people. I
didn't develop an ability to
think about algorithms because
I wanted to help people
solve problems. Somehow, by
the time I was a teenager, I
had a peculiar way of thinking
that made me good at programming.
But I might not be
good at quantum programming.
It seems to be a different
world from my own.
I'll take a question from
the back.
Question: I am working in
theorem proving, and one of the most important papers
is your paper "Simple word problems in universal
algebra" [KB] from 1970, written with
P. B. Bendix. I have two questions. The first is, do you
still follow this area and what do you think of it? And
the second is, who is and what became of P. B. Bendix?
Knuth: This work was published in 1970, but I
actually did it in 1967 while I was at Caltech. It
was a simple idea, but fortunately it's turned out
to be very widely applicable. The idea is to take a
set of mathematical axioms and find all the
implications of those axioms. If I have a certain
set of axioms and you have a possible theorem,
you ask, does this theorem follow from those
axioms or not? I called my paper "Simple word
problems in universal algebra", and I said a
problem was "simple" if my method could
handle it. Now people have extended the method
quite a lot, so that a lot more problems are
"simple". I think their work is beautiful.
The year 1967 was the most dramatic year of
my life by far. I had no time for research. I had
two children less than two years old; I had been
scheduled to be a lecturer for ACM (Association
for Computing Machinery) for three weeks; I had
NON SEQUITUR © 2001 Wiley Miller. Dist. By UNIVERSAL PRESS SYNDICATE.
Reprinted with permission. All rights reserved.
320 NOTICES OF THE AMS VOLUME 49, NUMBER 3
to give lectures in a
NATO summer school
in Copenhagen; I had to
speak in a conference at
Oxford; and so on. And
I was getting the page
proofs for The Art of
Computer Programming,
of which the first
volume was being
published in 1968. All
of this was in addition
to the classes I was
teaching, and an attack
of ulcers that put me in
the hospital, and being
an editor for twelve
journals. That year I
thought of two little
ideas. One has become
known as the Knuth-Bendix algorithm; the other
one is known as attribute grammars [AG]. That
was the most creative year of my life, and it was
also the most hectic.
You asked about Peter Bendix. He was a sophomore
in a class I taught at Caltech, "Introduction
to Algebra". Every student was supposed to do a
class project, and Peter did his term paper on the
implementation of the algorithm. He was a physics
major. This was the time of the Vietnam War, and
he became an objector. He went to Canada and
worked as a high school teacher for about five
years and later got a degree in physics. I found he
was living near Stanford a couple of years ago, so
I called him up and found out that he has had a
fairly happy life in recent years.
In the 1960s, if I wrote a joint paper with my advisor
Marshall Hall, it meant that he did the theory
and I did the programming. But if I wrote a paper
with anybody else, it meant that I did the theory and
the other person did the programming. So Pete
Bendix was a good programmer who implemented
the method.
Question: It seems to me it's easier to revise a
book than the huge software programs we see day
to day. How can we apply theory to improve software?
Knuth: Certainly errors in software are more difficult
to fix than errors in books. In fact, my main
conclusion after spending ten years of my life working
on the TEX project is that software is hard. It's
harder than anything else I've ever had to do. While
I was working on the TEX program, I was unable to
do full-time teaching. Although I love teaching, I
had to take a year off from it because there was just
too much to keep in my head at one time. Writing a
book is a little more difficult than writing a technical
paper, but writing software is a lot more difficult
than writing a book.
In my books I offer rewards for the first person
who finds any particular error, and I must say that
I've written more checks to people in Germany
than in any other country in the world. I get letters
from all over, but my German readers are the best
nitpickers that I've ever had! In software I similarly
pay for errors in the TEX and METAFONT programs.
The reward was doubling every year: It started out
at $2.56, then it went to $5.12, and so on, until it
reached $327.68, at which time I stopped doubling.
There has been no error reported in TEX since
1994 or 1995, although there is a rumor that somebody
has recently found one. I'm going to have to
look at it again in a year or two. I do everything in
batch mode, by the way. I am going to look again
at possible errors in TEX in, say, the year 2003.
I think letting users know that you welcome reports
of errors is one important technique that
could be used in the software industry. I think
Microsoft should say, "You'll get a check from Bill
Gates every time you find an error."
Question: What importance do you give to the design
of efficient algorithms, and what emphasis do
you suggest giving this area in the future?
Knuth: I think the design of efficient algorithms
is somehow the core of computer science. It's at
the center of our field. Computers are incredibly
fast now compared to what they were before, so
for many problems there is no need to have an efficient
algorithm. I can write programs that are in
some sense extremely inefficient, but if it's only
going to take one second to get the answer, who
cares? Still, some things we have to do millions or
billions of times, and just knowing that the number
of times is finite doesn't tell us that we can handle
it. So the number of problems that are in need
of efficient algorithms is huge. For example, many
problems are NP complete, and NP complete is
just a small level of complexity. Therefore I see an
almost infinite horizon for the need for efficient
algorithms. And that makes me happy because
those are the kinds of problems I like the best.
MARCH 2002 NOTICES OF THE AMS 321
Question: You have a big interest in puzzles, including
the "Tower of Hanoi" puzzle on more than
3 pegs. I won't ask a harder question--what is the
shortest solution?--because I am not sure everyone
knows this puzzle. But I will ask a more philosophical
question: Is it possible to show this can never be
solved?
Knuth: Do people know the "Tower of Hanoi"
problem? You have 3 pegs, and you have disks of
different sizes. You're supposed to transfer the disks
from one peg to another, and the disks have to be
sorted on each peg so that the biggest is always on
the bottom. You can move only one disk at a time.
Henry Dudeney invented the idea of generalizing
this puzzle to more than 3 pegs, and the task of finding
the shortest solution to the 4-peg problem has
been an open question for more than a hundred
years. The 3-peg problem is very simple; we teach it
to freshmen.
But take another, more famous problem, the
Goldbach conjecture in mathematics: Every even integer
is the sum of two odd primes. Now, I think
that's a problem that's never going to be solved. I
think it might not even have a proof. It might be
one of the unprovable theorems that Gödel showed
exist. In fact, we now know that in some sense almost
all correct statements about mathematics are
unprovable. Goldbach's conjecture is just, sort of,
true because it can't be false. There are so many
ways to represent an even number as the sum of
two odd numbers, that as the numbers grow the
number of representations grows bigger and bigger.
Take a 101010-digit even number, and imagine
how many ways there are to write that as the sum
of two odd integers. For an n-bit odd number, the
chances are proportional to 1/n that it's prime. How
are all of those pairs of odd numbers going to be
nonprime? It just can't happen. But it doesn't follow
that you'll find a proof, because the definition
of primality is multiplicative, while Goldbach's conjecture
pertains to an additive property. So it might
very well be that the conjecture happens to be
true, but there is no rigorous way to prove it.
In the case of the 4-peg "Tower of Hanoi", there
are many, many ways to achieve what we think is
the minimum number of moves, but we have no
good way to characterize all those solutions. So
that's why I personally came to the conclusion that
I was never going to be able to solve it, and I
stopped working on it in 1972. But I spent a solid
week working on it pretty hard.
Question: What are the five most important problems
in computer science?
Knuth: I don't like this "top ten" business. It's
the bottom ten that I like. I think you've got to
go for the little things, the stones that make up
the wall.
Question: You
spent a lot of time on
computer typesetting.
What are your reflections
on the impact of
this work?
Knuth: I am extremely
happy that
my work was in the
public domain and
made it possible for
people on all platforms
to communicate
with each other
via the Internet. Especially
now I'm thrilled
by some recent projects.
Two weeks ago
I heard a great lecture
by Bernd Wegner from
the Technical University
of Berlin about
the plans for online
journals by the European
Mathematical Society.
Such things
would simply have
been impossible without
the open source
software that came
out of my work. So I'm
extremely delighted
this is helping to advance
science.
I'm happy to see
many books that look
pretty good. Before I
started my work,
books on mathematics
were looking worse
and worse from year
to year. It took a lot
of skilled handwork
to do it in the old system.
The people who
could do that were
dying out, and high
priority did not go to
mathematical books.
I never expected that
TEX would take over the entire world of publishing.
I'm not a very competitive person, and I did not
want to take jobs away from anybody who was
doing another way of printing. But I found that nobody
wanted to do mathematical publishing well,
so math was something I could improve without
getting anybody upset about me being an upstart.
The downside is that I'm too sensitive to things
now. I can't go to a restaurant and order food
322 NOTICES OF THE AMS VOLUME 49, NUMBER 3
because I keep looking at the fonts on the menu.
Five minutes later I realize that it's also talking
about food. If I had never thought about computer
typesetting, I might have had a happier life in some
ways.
Question: Can you give us an outline for computer
science, some milestones for the next ten or
twenty years?
Knuth: You're asking for milestones again.
There is a lot of interest in applications to biology
because so many things have opened up in that
domain, with chances to cure diseases. The fact
that human beings are based on a discrete code
means that people like you and me, who are good
at discrete problems, are able to do relevant work
for this area. The problems are very difficult and
challenging, and that's why I foresee an important
future there.
But in all aspects of our field, I really don't see
any slowing down. Every time I think I've discovered
something interesting, I look on the Internet
and find that somebody else has done it too. So we
have a field that at the moment still seems to be
like a boiling kettle, where you can't keep the lid
on.
In the field of biology, I think we can confidently
predict that it's going to have rich problems to
solve for at least 500 years. I can't make that claim
for computer science.
Question: What is the connection between mathematics
and computer programming viewed as an
art?
Knuth: Art is Kunst. The American movie
Artificial Intelligence is called Kunstlicher Intelligenz
in Germany--that is, artificial as well as artistic. I
think of programming with beauty in mind, as
being something elegant, something that you can
be proud of for the way it fits together. Mathematics
in the same way has elegance. Both fields, computing
and mathematics, are different from
other sciences because they are artificial; they
are not in nature. They're totally under our own
control. We make up the axioms, and when we
solve a problem, we can prove that we've solved it.
No astronomer will ever know whether his theories
of astronomy are correct. You can't go up to the sun
and measure it.
So these are my first thoughts on that connection.
But there is a difference between mathematics
and computer programming, and sometimes I
can feel when I'm putting on one hat or the other.
Some parts of me like mathematics, and some
parts of me like emacs hacking. I think they go
together okay, but I don't see that they're the same
paradigm.
Question: What is the relationship between God
and computers?
Knuth: In one of my books, 3:16 Bible Texts
Illuminated [BTI], I used random sampling to study
sixty different verses of the Bible and what people
from all different religious persuasions and different
centuries have said about those verses. I did
the study at first on my own, and then I found it
was interesting enough that I ought to make a book
about it. I got sixty of the best artists in the world
to illustrate the book, many of them in Germany.
The artwork was exhibited twice in Germany, and
in other countries around the world. It was also
shown in the National Cathedral in Washington,
DC. In that book I used methodology that computer
scientists often use for understanding a
complicated subject, to see if that method would
give some insight into the Bible, which is a complicated
subject. In the book, I don't give answers.
I just say I think it's good that life should be an
ongoing search. The journey is more important
than the destination.
Question: Do you know whether "P equals NP"
has been proved? I heard a rumor that it has.
Knuth: Which rumor did you hear?
Question: One from Russia.
Knuth: From Russia? That's new to me. Well, I
don't think anybody has proved that P equals NP
yet. But I know that Andy Yao has retired and
hopes to solve the problem in the next five to
ten years. He is inspired by Andrew Wiles, who
MARCH 2002 NOTICES OF THE AMS 323
devoted several years to proving Fermat's Last
Theorem. They're both Princeton people. Andy
can do it if anybody can.
Three or four years ago, there was a paper in a
Chinese journal of computer science and technology
by a professor who claimed he could solve an
NP-hard problem in polynomial time. The problem
was about cliques, and he had a very clever way to
represent cliques. The method was supposedly
polynomial time, but it actually took something like
n12 steps, so you couldn't even check it when n
equals 5. So it was very hard to see the bug in his
proof. I went to Stanford and sat down with our
graduate students, and we needed a couple of
hours before we found the flaw. I wrote the author
a letter pointing out the error, and he wrote back
a couple of months later, saying, "No, no, there is
no error." I decided not to pursue it any further. I
had done my part. But I don't believe it's been
solved. That's the most mind-boggling problem
facing theoretical computer science, and maybe
all of science at the moment.
Question: What do you think of research in
cryptographic algorithms? And what do you
think of efforts by politicians today to put limits on
cryptography research?
Knuth: Certainly the whole area of cryptographic
algorithms has been one of the most active and exciting
areas in computer science for the past ten
years, and many of the results are spectacular and
beautiful. I can't claim that I'm good at that particular
subject, though, because I can't think of
sneaky attacks myself. But the key problem is,
what about the abuse of secure methods of communication?
I don't want criminals to use these
methods to become better criminals.
I'm a religious person, and I think that God
knows all my secrets, so I always feel that whatever
I'm thinking is public knowledge in some way. I
come from this kind of background. I don't feel
I have to encrypt everything I do. On the other
hand, I would certainly feel quite differently if
somebody started to use such openness against me,
by stealing my bank accounts or whatever. So I am
supportive of a high level of secrecy. But whether
it should be impossible for the authorities to
decode things even in criminal investigations, in
extreme cases--there I tend to come down on the
side of wanting to have some way to break some
keys sometimes.
Question: Will we have intelligent machines sometime
in the future? Should we have them?
Knuth: There have always been inflated estimates
as to how soon we are going to have a
machine that's intelligent. I still see no signs of
getting around the central problem of understanding
what is cognition, what it means to think.
Neurologists are making better measurements
than they ever have before, but we are still so far
from finding an answer that I can't yet rank
neuroscience as one of the most active fields of
current work. Biology has been getting answers,
with DNA and stem cells and so on. But with cognition
we are still looking for the secret.
Some very thought-provoking books came out
a year or two ago, one by Hans Moravec [Mo], and
one by Ray Kurzweil [Ku]. Both of them are saying
that in twenty or thirty years we are going to have
machines smarter than humans. Some people were
worried about that. My attitude is, if that's true,
more power to them. If they are smarter than us,
so what? Then we can learn from them. But I see
no signs that there are any breakthroughs around
the corner.
Two weeks ago in Greece I was at the inauguration
of a new book by Christos Papadimitriou, who
is chairman of computer science at Berkeley. He
published a novel in the Greek language called The
Smile of Turing [Pa]. I don't want to give away the
story, but when it gets published in German or
English, you'll find that it has a very nice discussion
of artificial intelligence and the Turing test for
intelligence.
The most promising model of how the brain
works that I've seen says that the brain is a dynamic
genetic algorithm that operates all the time. As I
324 NOTICES OF THE AMS VOLUME 49, NUMBER 3
am talking to you now, your brains have a lot of
competing theories about what I'm going to say. It's
the survival of the fittest, a continual
battle among the competing theories.
Some come to the surface and actually
enter your consciousness, but the
others are all there. Some kind of mating
of concepts might be going on in our
heads all the time. This model seems to
have the right properties to account for
how we can do what we do with the
relatively slow response time that our
neurons have. But I am by no means an
expert on this.
Question: What is your thinking about
software patents? There is a big discussion
going on in Europe right now about
whether software should be patentable.
Knuth: I'm against patents on things
that any student should be expected to
discover. There have been an awful lot
of software patents in the U.S. for ideas
that are completely trivial, and that
bothers me a lot. There is an organization
that has worked for many years to
make patents on all the remaining trivial
ideas and then make these available
to everyone. The way patenting had
been going was threatening to make
the software industry stand still.
Algorithms are inherently mathematical
things that should be as unpatentable
as the value of . But for
something nontrivial, something like
the interior point method for linear programming,
there's more justification
for somebody getting a right to license
the method for a short time, instead of
keeping it a trade secret. That's the
whole idea of patents; the word patent
means "to make public".
I was trained in the culture of mathematics, so
I'm not used to charging people a penny every time
they use a theorem I proved. But I charge somebody
for the time I spend telling them which theorem
to apply. It's okay to charge for services and
customization and improvement, but don't make
the algorithms themselves proprietary.
There's an interesting issue, though. Could you
possibly have a patent on a positive integer? It is
not inconceivable that if we took a million of the
greatest supercomputers today and set them going,
they could compute a certain 300-digit constant
that would solve any NP-hard problem by taking
the GCD of this constant with an input number, or
by some other funny combination. This integer
would require massive amounts of computation
time to find, and if you knew that integer, then you
could do all kinds of useful things. Now, is that
integer really discovered by man? Or is it something
that is God given? When we start thinking of complexity
issues, we have to change our viewpoint as
to what is in nature and what is invented.
Question: You have been writing checks to people
who point out errors in your books. I have never
heard of anyone cashing these checks. Do you know
how much money you would be out of, if everyone
suddenly cashed the checks?
Knuth: There's one man who lives near Frankfurt
who would probably have more than $1,000
if he cashed all the checks I've sent him. There's a
man in Los Gatos, California, whom I've never met,
who cashes a check for $2.56 about once a month,
and that's been going on for some years now.
Altogether I've written more than 2,000 checks
over the years, and the average amount exceeds
$8.00 per check. Even if everybody cashed their
checks, it would still be more than worth it to me
to know that my books are getting better.
References
[TAOCP] The Art of Computer Programming, by Donald E.
Knuth. Volume 1: Fundamental Algorithms (third
edition, Addison-Wesley, 1997). Volume 2: Seminumerical
Algorithms (third edition, Addison-Wesley,
1997). Volume 3: Sorting and Searching (second
edition, Addison-Wesley, 1998). Volume 4: Combinatorial
Algorithms (in preparation).
[MT] Mathematical typography, by Donald E. Knuth. Bull.
Amer. Math. Soc. (N.S.) 1 (1979), no. 2, 337-372.
Reprinted in Digital Typography (Stanford, California:
CSLI Publications, 1998), pp. 19-65.
[PITAC] President's information technology advisory committee.
See http://www.itrd.gov/ac/.
[PFB] Proofs from The Book, by Martin Aigner and Günter
Ziegler. Second edition, Springer Verlag, 2001.
[KB] Simple word problems in universal algebras, by
Peter B. Bendix and Donald Knuth. Computational
Problems in Abstract Algebra, J. Leech, ed. (Oxford:
Pergamon, 1970), pp. 263-297. Reprinted in Automation
of Reasoning, Jörg H. Siekmann and Graham
Wrightson, eds. (Springer, 1983), pp. 342-376.
[BTI] 3:16 Bible Texts Illuminated, by Donald E. Knuth.
A-R Editions, Madison, Wisconsin, 1990.
[AG] Semantics of context-free languages, by Donald E.
Knuth. Mathematical Systems Theory 2 (1968),
127-145. See also The genesis of attribute grammars,
in Lecture Notes in Computer Science 461
(1990), 1-12.
[Pa] TO XAMOGELO TOY TOYRINGK (The Smile of Turing),
by Christos Papadimitriou. Livani Publishers,
Athens, Greece, 2001.
[Ku] The Age of Spiritual Machines: When Computers Exceed
Human Intelligence, by Ray Kurzweil. Penguin
USA, 2000.
[Mo] Robot: Mere Machine to Transcendent Mind, by
Hans P. Moravec. Oxford University Press, 2000.
Photographs used in this article are courtesy of
Andreas Jung, Technische Universität München.
Please talk to me
How did he do that?
I hope it comes back up. As I'm involved in mathematics, I have been using TeX a lot, and (after trying LaTeX) have basically started to use it for everything that comes up. It's a really nice system (WYSIWYM - What You See is What You Mean) and has finally allowed me to be free of MS (Multiple Sclerosis?) Office. I highly suggest it since (after a bit of learning) you can put together really professional looking documents and automagically raise your marks, with much less effort. It even works on the command-line for people like me whose favourite internet program is telnet (for mail, http, irc...).
And now it looks like the pdf file is finally loaded, so I might actually be able to make an intelligent comment soon!
Some primal termite knocked on wood
And tasted it, and found it good,
And that is why your Cousin May
Fell through the parlor floor today.
-- Ogden Nash
101. What do you think of the Slashdot effect?
TeX has always facinated me. Let's face it, it works. I believe there is more bugs than he is writing checks for, but that said they are seldom encountered by mere mortals. If you do normal stuff it just works.
There is nothing else like it. No commercial product, no non-commercial product. If you want to typeset mathematics, it's the only game in town. If you want to typeset anything, it's one of very few games in town. It's open source. It's multi-platform. It has a huge following, but gets no press.
It really is an amazing thing, and something that every open source project should aspire to....
http://russnelson.com/fea-knuth.pdf
Don't piss off The Angry Economist
a) because it's slashdotted
b) because the link is a pdf and I don't feel like switching over to my Microsoft system to read it. Since Acrobat is closed source, and the only free PDF readers are shit, I have no way to easily read his document.
Now, I've read the first three volumes of TAOCP, and I have all the respect in the world for Knuth. He's a brilliant guy.
However, I think he has an counter-productive obsession with typesetting. TeX is great for formulas, and PDF is great for sending stuff to a print shop... but most of us just need to communicate plain english characters (whether prose or code) efficiently an effectively, in a manner that work on all platforms. Plain ASCII works best for me. HTML is pushing it.
Now I've seen it all!
Appended to the end of comments I post? 120 chars?!
By Dan Doernberg
December 7th, 1993
CLB: You have just-published books on both CWEB and the Stanford GraphBase, two areas of your own research. Let's start with CWEB, which integrates C and TeX to facilitate program documentation.
Knuth: The CWEB system is an add-on to C that makes programming better than any other method known in the world, by far. I simply have to be honest and say that it's the greatest thing that's there. The CWEB System of Structured Documentation is the definitive user manual and complete explanation, more than anybody really needs to know about CWEB.
CLB: You've said that CWEB gives an order of magnitude improvement in programmer productivity--- how so?
Knuth: Well, maybe not an order of magnitude, maybe only a factor of two. People who have used CWEB have noticed that they write better programs, that the programs are more portable, more easily debugged, more easily maintained... and they don't take as long to write.
CLB: Has CWEB been used just at Stanford, or in industry as well?
Knuth: It's being used around the world. We've had WEB, the original version (for Pascal) in a variety of systems, and then more and more people started getting infected by it. TeX was written in WEB. Silvio Levy did the conversion to CWEB in 1987. It was experimental for a long time, and now I'm just saying "The experiment worked!". CWEB is much better than WEB, because C is a much nicer language to work with for system programming and lots of other things. For anybody who really cares about programming, I have no idea why they would not prefer this to any other system.
CLB: Easy to use, runs fast, all that good stuff?
Knuth: Right, and it makes you happy after you finish writing a program!
CLB: Even if you write a bad program?!
Knuth:(Don's wife--Ed.) Almost... well... yeah! Jill will tell you, I come out of my office several times a week saying, "CWEB programming is such fun!" It's true, I just can't do enough of it.
The frame of mind that you're in when you're writing a CWEB program is that much better than the old attitude. You think of yourself as writing for a human being, explaining to a human being what a computer should do, instead of thinking of yourself as talking to the computer telling it what to do. You get your act together better when you're explaining it to another person. This approach helps even for a program that you're going to throw away after an hour. CWEB is a tool that I recommend using even if you're writing a program only for yourself, for your eyes only.
CLB: CWEB seems very close to the structured programming models of the 70s...
Knuth: Right, it's the next step. With structured programming, there were some people saying program top-down, and others saying program bottom-up. With WEB/CWEB you can do parts of it bottom-up and parts of it top-down, whatever you feel is right for the program, or for the part of the program you're in.
The structured programming methodology was great... but the way to really understand it is not as a cookbook of rules, but as a way to understand the relation between high-level and low-level views of a program. The way you do that is by viewing the program as a web, as a bunch of small pieces that are simple in themselves and that have simple connections to other small pieces. This way of understanding the complex whole in terms of simple small parts, and the connections between those parts, is supported by the WEB scheme.
You can create the parts in whatever order is psychologically best for you. Sometimes you can create them from the bottom up. Bottom-up means that you know somehow that you probably need a subroutine that will do something, so you write it now while you're ready, while you're psyched for it. With this bottom- up programming, your pencil gets more powerful every page, because on page nine you've developed more tools that you can use on page ten... your pencil is stronger.
With top-down programming you start at the beginning and say "I'm going to do this first and then this, and then this"... but then you have to spell out what those are--- you can wind up gasping for breath a hundred pages later when you finally figure out how you're actually going to do those things!
Top-down programming tends to look very nice for the first few pages and then it becomes a little hard to keep the threads going. Bottom-up programming also tends to look nice for a while, your pencil is more powerful, but that means you can also do more tricky stuff. If you mix the two in a good psychological way, then it works, even at the end.
(TeX: The Program--Ed.) I did this with TeX, a very large program: 500+ pages of code in the book . Throughout that entire program, all those lines of code, there was always one thing that had to be the next thing I did. I didn't really have much choice; each step was based on what I'd done so far. No methodology would teach me how to write a piece of software like that, if I followed it rigorously. But if I imagined myself explaining the program to a good competent programmer, all that this long program was, then there was just this one natural way to do it. The order in which the code appears in the book is the order in which I wrote it.
CLB: To what extent did you or do you follow the "holy war" debates about software engineering methodologies?
Knuth: I didn't follow every nuance of that work, but I was aware of the dominant ideas. I didn't know what the CASE tools were until many years after other people did. I think it was bad to make too much of a religion out of it. There was a lot of "political correctness" about how to program in those days.
There was a similar thing in the mathematics community in the 1920's, where people were saying that good mathematicians would have to prove theorems a certain way. You weren't supposed to use certain tools of proof that some people thought might lead you into paradoxes. It was like trying to do mathematics with a hand tied behind your back. Similarly, politically correct structured programming was keeping people from getting good programs done, when they knew perfectly well what they were doing, just because their approach didn't happen to fit with the current idea of correctness. Computer science is like every other field; it goes in waves of fashion. Some of the trends are good, but almost every good idea seems to get used in a different way than it should have been.
For example, take random number generators. People had no theory about how to generate random numbers for fifteen years. Then somebody proved one small result about a particular method: if you averaged the serial correlation over an entire period of a billion numbers, the average would be zero, which was good. All of a sudden, everybody switched over, they took out all their old routines and converted to this new method, because it was the only one that had any theory to it whatsoever. It turned out this was a horrible random number generator; the theory had not noticed that the average over the first half was +1 and over the second half was -1! All through history, people have taken ideas and misunderstood the limitations of them.
CLB: Which method was this?
Knuth: Well, it was called RANDU in most subroutine libraries. It's been pretty well purged by now; still, if anybody sees a subroutine named RANDU, get rid of it!
CLB: Did you integrate WEB with C because so many programmers today are using it, or do you personally like C and write with it?
Knuth: I think C has a lot of features that are very important. The way C handles pointers, for example, was a brilliant innovation; it solved a lot of problems that we had before in data structuring and made the programs look good afterwards. C isn't the perfect language, no language is, but I think it has a lot of virtues, and you can avoid the parts you don't like. I do like C as a language, especially because it blends in with the operating system (if you're using UNIX, for example).
All through my life, I've always used the programming language that blended best with the debugging system and operating system that I'm using. If I had a better debugger for language X, and if X went well with the operating system, I would be using that.
An extreme case occurred one year I worked in a lab where the operating system had been designed by Ned Irons. The system was for one of Cray's early machines, and Irons had also written a compiler language called IMP. IMP had a lot of horrible features. One, it was an extensible language, and everybody in the lab would keep extending it. A program that worked on Monday wouldn't work on Tuesday, and the first thing that you'd do if your program failed was to check whether the compiled code was OK. The second thing about IMP was that it was an extremely terse language. For example, where in PASCAL you would say "IF X > 0 THEN...", in IMP you say "X+=>". In other words, your program was very short. You felt like you were writing elegant programs, because there were only a few characters, but you couldn't read them the next day! Being very terse meant that you couldn't fathom this bunch of marks on the page...
CLB: I realize your current emphasis is on "literate programming", but were you ever whatsoever attracted to APL as a math-oriented language?
Knuth: That's another story. APL is for people who have problems to solve and don't care too much about efficiency; they want a nice elegant way to state the solution to their problem, but the solution that they come up with is not necessarily anything that a computer has an easy job doing. It's a problem specification language, but not a system programming language... there is an APL-WEB.
But I want to say more about IMP. The third thing against it was, if you made a mistake, the compiler would either get into an infinite loop, or it would stop on your first error and say "ERROR ERROR ERROR" and quit; you would have to figure out what the mistake was! It was not a great language or compiler.
However... it was still my language of choice, because it fit that operating system perfectly. The arrays would be named in a way that you could easily see in the debugger, and you could know where the storage was being allocated, you knew what was going on, and you could actually get your program running reliably, because IMP blended with the operating system. You couldn't do that with any of the other languages. You might be writing with a better language, but you would get your work done a couple of weeks later, instead of getting answers. I used IMP.
CLB: Was IMP being used at Stanford?
Knuth: It was at a research lab in Princeton. A year before I came to Stanford, I worked there on a classified cryptanalysis research project.
CLB: Please tell us about your other new book, The Stanford GraphBase.
Knuth: The GraphBase book is for two kinds of people. It has a research purpose; the people who are working on the study of new algorithms for combinatorial problems need a standard set of test data on which to compete with each other, and for benchmarks. As I was preparing Volume IV of The Art of Computer Programming, I decided that I would make all the examples and data that I'm using in that book available to everyone. There was a need for some standard benchmarks, and everything should be well arranged so that it is easy to use in thousands of ways. So... I now have a collection of thousands of standard data sets; anyone in Poland can have exactly the same data as anyone in California or China. It's very portable, and can be downloaded from the Internet.
The second purpose of the GraphBase hook is that it is an example of CWEB programming--- it's actually 32 examples of CWEB programming. They're short programs that illustrate the programming style that I prefer. The examples are like little essays, little short stories of computer programs, that are perhaps fun to read.
CLB: What is your current hardware and software environment?
Knuth: I use CWEB for my programming. I use the Emacs editor very heavily, and I use a great high-level language called METAPOST for drawing technical illustrations. This is a new language by John Hobby that is going to be released soon, I think. It's based on METAFONT. 75% of the code is mine from METAFONT, but it's fixed up so that it generates PostScript. I love it.
I also use Mathematica. The people at Maple are trying to convince me to switch over to Maple, another excellent system. At the moment, I like Mathematica because you don't have to type your multiplication signs; you can say "2X" instead of "2*X". Also, the Mathematica manual is exceptionally good.
CLB: You like Wolfram's writing style?
Knuth: Especially the index... you can easily find your way around that book. With the first edition, when I had a new problem to solve, I would look in the index and it would almost always refer me to the right page. There were three or four times when the word I tried wasn't there, and I penciled in where to look when I had this problem next time. In the second edition those had all been fixed, and I had not reported them to anybody.
CLB: Let me get your quick impressions on a few research areas, and whether you've read or done any work in them. The first is genetic algorithms. How do you feel about the general concept, that instead of the human determining the algorithm, you somewhat let the machine have at it...
Knuth: I plan to do a lot of experimenting on this as I get into Volume IV. There's genetic breeding, there's simulated annealing, there are other strategies that people have developed. I have a method in The Stanford GraphBase book that I call "stratified greed". These techniques are all competing for the same kind of problems, and I want to try a lot of examples; some of them might work better on one than the other, and I want to get a feel for this. Certain problems are naturals for neural nets... genetic algorithms are likely to do well on tasks related to language recognition, and people say also like predicting the stock market or something like that. Somehow the closer a problem is to nature, the more you expect the genetic algorithm to work, while the closer it is to number theory or something artificial, the more you expect some other kind of approach will help. It's hard to understand the way these methods scale up; on a small problem they might do terrifically, and then they might break down completely just when the problem gets a little bit bigger... or it might go the other way.
CLB: It sounds like you have several years of disciplined testing with your data sets ahead of you.
Knuth: The Stanford GraphBase gives me an unlimited supply of problems that I and other people can do. I read what other people have claimed about their methods, but I also try them all myself. The original work I do in The Art of Computer Programming is to take the methods of two different authors and analyze method A from the standpoint of author B, and method B from the standpoint of author A. They have only given their sides of it, so I try to fill in ....
CLB: What about object-oriented programming? Is it just a current buzzword, or does this approach appeal to you?
Knuth: I've always thought of programming in that way, but I haven't used languages that help enforce the discipline; I've always enforced the discipline myself in other languages. Programming languages can now catch you if you make a mistake, and they make it easier for you to hide information from one part of the program to another. In my own programs, with older languages, I wouldn't use what I wasn't supposed to use; I would have to discipline myself to follow these rules. I could, so I did. There weren't programs I couldn't write... but the new tools do help.
The problem that I have with them today is that... C++ is too complicated. At the moment, it's impossible for me to write portable code that I believe would work on lots of different systems, unless I avoid all exotic features. Whenever the C++ language designers had two competing ideas as to how they should solve some problem, they said "OK, we'll do them both". So the language is too baroque for my taste. But each user of C++ has a favorite subset, and that's fine. CWEB fully supports C++ as well as C.
CLB: What are your thoughts about chaos theory, fractals, those areas? Their indeterminateness seems a little discordant with the domains you've focused on in the past.
Knuth: I did some early work with fractals and so on, and I think it's a great new abstraction. People can build models that they wouldn't have thought of building before, that really match a lot of things in nature that have this character of looking the same when you change the scale. You know, if you magnify the coastline, it still looks like a coastline, and a lot of other things have this property. Nature has recursive algorithms that it uses to generate clouds and Swiss cheese and things like that. So now we have mathematical techniques for understanding such processes that go beyond the kind of differential equations that people used to have in previous centuries. Now we have a brand new tool to work with, but I'm not very intuitive about such methods. I know the limitations of my own intuition; I can solve some problems well, but I know other people are able to see something right away which takes me a long time... It's not my cup of tea.
CLB: To what extent have you ever followed developments in artificial intelligence? The third program you ever wrote was a tic-tac-toe program that learned from its errors, and Stanford has been one of the leading institutions for AI research...
Knuth: Well, AI interacts a lot with Volume IV; AI researchers use the combinatorial techniques that I'm studying, so there is a lot of literature there that is quite relevant. My job is to compare the AI literature with what came out of the electrical engineering community, and other disciplines; each community has had a slightly different way of approaching the problems. I'm trying to read these things and take out the jargon and unify the ideas. The hardest applications and most challenging problems, throughout many years of computer history, have been in artificial intelligence--- AI has been the most fruitful source of techniques in computer science. It led to many important advances, like data structures and list processing... artificial intelligence has been a great stimulation. Many of the best paradigms for debugging and for getting software going, all of the symbolic algebra systems that were built, early studies of computer graphics and computer vision, etc., all had very strong roots in artificial intelligence.
CLB: So you're not one of those who deprecates what was done in that area...
Knuth: No, no. What happened is that a lot of people believed that AI was going to be the panacea. It's like some company makes only a 15% profit, when the analysts were predicting 18%, and the stock drops. It was just the clash of expectations, to have inflated ideas that one paradigm would solve everything. It's probably true with all of the things that are flashy now; people will realize that they aren't the total answer. A lot of problems are so hard that we're never going to find a real great solution to them. People are disappointed when they don't find the Fountain of Youth...
CLB: If you were a soon-to-graduate college senior or Ph.D. and you didn't have any "baggage", what kind of research would you want to do? Or would you even choose research again?
Knuth: I think the most exciting computer research now is partly in robotics, and partly in applications to biochemistry. Robotics, for example, that's terrific. Making devices that actually move around and communicate with each other. Stanford has a big robotics lab now, and our plan is for a new building that will have a hundred robots walking the corridors, to stimulate the students. It'll be two or three years until we move in to the building. Just seeing robots there, you'll think of neat projects. These projects also suggest a lot of good mathematical and theoretical questions. And high level graphical tools, there's a tremendous amount of great stuff in that area too. Yeah, I'd love to do that... only one life, you know, but...
CLB: Why do you mention biochemistry?
Knuth: There's millions and millions of unsolved problems. Biology is so digital, and incredibly complicated, but incredibly useful. The trouble with biology is that, if you have to work as a biologist, it's boring. Your experiments take you three years and then, one night, the electricity goes off and all the things die! You start over. In computers we can create our own worlds. Biologists deserve a lot of credit for being able to slug it through.
It is hard for me to say confidently that, after fifty more years of explosive growth of computer science, there will still be a lot of fascinating unsolved problems at peoples' fingertips, that it won't be pretty much working on refinements of well-explored things. Maybe all of the simple stuff and the really great stuff has been discovered. It may not be true, but I can't predict an unending growth. I can't be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on, it's at that level.
CLB: Use of the Internet is exploding right now, with everyone getting on...
Knuth: Some day we are going to try to figure out who is paying for it!
CLB: Do you currently use it? I know you did in the past.
Knuth: I spent fifteen years using electronic mail on the ARPANET and the Internet. Then, in January 1990, I stopped, because it was taking up too much of my time to sift through garbage. I don't have an email address. People trying to write me unsolicited email messages get a polite note saying "Professor Knuth has discontinued reading electronic mail; you can write to him at such and such an address."
It's impossible to shut email off! You send a message to somebody, and they send it back saying "Thank you", and you say "OK, thanks for thanking me..."
Email is wonderful for some people, absolutely necessary for their job, and they can do their work better. I like to say that for people whose role is to be on top of things, electronic mail is great. But my role is to be on the bottom of things. I look at ideas and think about them carefully and try to write them up... I move slowly through things that people have done and try to organize the material. But I don't know what is happening this month.
So now I don't read electronic mail, but I do use it occasionally. Say I'm taking a trip to Israel and I've got to make last minute arrangements. When I visit another university or research center for a few days, I have to send email from there. I've learned how to use the email facilities in Emacs, but I don't want to get good at it.
CLB: You have many interests outside of computing and mathematics--- music, religion, writing. Is music a creative outlet for you, a means of recreation, or a spiritual outlet?
Knuth: At the moment it's recreational. I like to have friends come to the house and play four-hands piano music. If I could do it every week, I would. I hope to live long enough so that after I've finished my life's work on The Art of Computer Programming, I might compose some music. Just a dream... it might be lousy music, of course.
CLB: You have written some compositions already, haven't you?
Knuth: Yeah, but it was mostly arrangements of other people's themes. I did write a short musical comedy when I was in college called "Nebbishland". Remember how Nebbishes were all the rage in the late 50s? "Nebbishland" was only about a ten minute skit, but it was all original music and lyrics.
CLB: Do you have the score somewhere in the attic?
Knuth: Yeah... no actually, I think I've lost it. I have only part of it. I'm hoping to come across it. I'm going through my files now and making a computer index of everything I have in the house.
CLB: Sounds like you don't have a paperless house!
Knuth: No!
CLB: Have you fiddled with MIDI computer technology for music, or have you purposely stayed away from it?
Knuth: I have fun with it. I bought a synthesizer for my son last Christmas, and I played it for hours and hours. I loved it. I had once played on a Kurzweil synthesizer years ago, at Marvin Minsky's house, a grand piano imitation. More recently, a friend went to England for three years and didn't want to bring his grand piano him, so he bought a Yamaha with six voices. When I visited his house, I had a tremendous time for three days going through all of the pieces I'd learned on the piano, playing them as if they were on vibraphone, or on a harpsichord, or some other voice. His "piano" has a harpsichord voice, but the keyboard is pressure-sensitive, so you can play loud and soft, which you can't do on a real harpsichord. These synthesizers are great.
CLB: When did you retire from Stanford?
Knuth: This year. I was on leave for two years until I could officially retire. Unofficially, I retired in 1990, on the same day I gave up email. I announced my plans three years earlier. I realized that my main goal in life was to finish The Art of Computer Programming; I had looked ahead and seen that it would take twenty years of work, full-time. If I continued doing everything else that I was doing, it was going to be forty or fifty years of work. I was just not getting anywhere, I was getting further and further behind. So I said, "Enough." Naturally, I hate to give up many of these other things that I like doing very much. But there are some things I didn't hate giving up, like writing proposals. I'm very happy to give up those!
CLB: You had to write proposals?? I assumed you were insulated from that somehow.
Knuth: You've got a great sense of humor! I don't have to do it anymore; but as a professor, in order to have decent equipment for my grad students, or to have visitors for active research programs, to publish reports, etc., I needed to find sponsors. It's a lot of work begging for money. The System Development Foundation said they'd give me a million dollars so that I could finish TeX and get back to The Art of Computer Programming.
CLB: Did you take them up on it?
Knuth: Sure, but it still took many, many years to finish TeX. I decided that the only way I would be able to finish The Art of Computer Programming is by going into full-time writing, and being a hermit, and telling people "No." It was hard to adjust the first couple of years. Now I feel real efficient, and the writing is going well. A nice steady state.
I give lectures at Stanford every month or so, when I'm in town, called "Computer Musings" . I plan to keep this up for twenty years, to give a talk on whatever I find interesting that month, on neat ideas I've picked up... I bring up problems that I can't solve, so that somebody will do it for me. Now, if I can't solve a problem in two hours, I've got to give it up and tell somebody else to work on it; otherwise, I'll get behind again. As I write the book, I've got to move from topic to topic, and my attention span is maybe three weeks on any particular topic.
CLB: You're best known for your writing and research; did you enjoy teaching and the interaction with students?
Knuth: We had the greatest students in the world. I can still get together with students through my lecture series, except I don't know their names anymore. That's a problem.
CLB: No student interns?
Knuth: Suppose I give a "Computer Musings" lecture, stating an open problem, and suppose that a student in the audience solves that problem, writes his thesis and finishes it in the next two weeks (maybe two and a half), and shows it to me. Then I'd still be interested in the topic, would still read it, and I'd be glad to sign his thesis... but that's the only way. 28 is the total number of Ph.D. students I've had graduate, and that's probably all that I will have... unless something happens at high speed through the "Computer Musings".
CLB: Real-time Ph.D.'s! What changes have you seen in the students coming into the computer science program over the years?
Knuth: There is a very profound change that I can't account for. In the 70s, the majority of our students were very interested in music. The first thing we'd ask them when they came in was "What instrument do you play?" We had lots of chamber groups and so on. Now almost none of the students are interested in music. I don't know if it's because a different kind of people are enrolling in computer science, or because it's true of all today's students, or what. If you ask computer science students now what their hobby is, the chances are most of them will say "Bicycling". I recently had one who played a harmonica, but there were almost no musicians in the group.
CLB: Any changes in the quality of the students?
Knuth: Not the quality... but they don't know as much about mathematics as they used to. We have to do more remedial stuff in college, even at a school like Stanford.
CLB: How about changes in the field itself... with so much progress and so many more people involved, is computer science today very different than it was earlier?
Knuth: Well, there's all the media and the visual things, that's a lot different than it was. There's also the competition; it's a great deal more difficult now than it was in my day. When I started, it was so easy to come up with something new compared to now, when you've got thousands and thousands of smart people all doing great stuff. There might have been ten great Ph.D. theses a year at one time; there's just no way to keep up with all the stuff now.
No matter what field of computer science you're in, everyone is finding it hard to keep up. Every field gets narrower and narrower, since nobody can cover all the territory anymore. Everybody can choose two small parts of computer science and learn those two parts; if one person knows parts A and B, another knows B and C, and another knows C and D, the field remains reasonably well connected, even as it expands.
CLB: Do you see yourself as one of the last of computer science's "Renaissance Men"?
Knuth: I'm not as broad as you might think--- I only work on one thing at a time. I guess I'm a quick study; I can become an instant expert in something. I've been collecting stuff for thirty years so that I can read the literature on each topic in "batch mode"--- not swapping lots of different topics in and out. I can absorb a subject locally and get good at it for a little while... but then don't ask me to do the thing I was doing a few months ago! Also, I have lots of people helping me correct my mistakes.
CLB: My last question, your least favorite to be asked... what is the current plan for completing all seven volumes of The Art of Computer Programming?
Knuth: I'm going to have fascicles of about 128 pages coming out twice a year. We're gathering four of them before we come out with the first two actually; we're going to keep some in the pipeline! Look for the first fascicles in 1995 or 1996; they will be beta-test versions of the real books. I'm thinking I can finish Volume IV (parts A, B, and C)in the year 2003, Volume V in 2008, then come out with new editions of Volume I, II, and III, then work on VI and VII... There will be a "Reader's Digest" version of volumes I through V.
CLB: What would your career, and life, have been like had you not announced the 7-volume set?
Knuth: Oh, I didn't announce it at first. I thought I was writing only one book. But if I hadn't done that, I suppose I still would have been doing a lot of writing. Somehow it seems that all the way through, I've enjoyed trying to explain things. When I was in high school, I was editor of the student paper; in college I edited a magazine. I've always been playing around with words.
Acrobat works fine in linux. I'm currently using the plugin in galeon and it displays fine. No need to use windows.
n uth.pdf
Here's another mirror
http://www.cs.columbia.edu/~spotter/fea-k
and the reason it isn't in wider use:
How do you pronounce it?
got this in an email a few days ago....
Richard M. Stallman, Linus Torvalds, and Donald E. Knuth
engage in a discussion on whose impact on the computerized world was the greatest.
Stallman: "God told me I have programmed the best editor in
the world!"
Torvalds: "Well, God told *me* that I have programmed the
best operating system in the world!"
Knuth: "Wait, wait - I never said that."
Oh man. That's funny. You either have a fantastic sense of humor or a terrible hatred for the world. :)
It's been a long time.
The damn site is /.
All bow to his Noodliness!! His Noodle Appendage has touched me!
Least that what I rememeber it saying in the TeX manual.
mmmmmm.... stale pizza.....
besides, I've got character! hell, he's almost level 12!
Someone put the text of the actual interview in comment #3175581 but it got modded down to 0-redundant. It shouldn't have been modded that way since it wasn't redundant when it was initially posted.
The AMS site is slashdotted--I did manage to download and view the PDF file and the above is a copy of the interview.
and the LaTeX Companions Boxed set. Even if I'm not is the CS field per se, I like to program in my spare time and to help me in my field (mechanical engineering).
I don't have time right now to read that paper, but if the GP of Malaysia is boring (like if Shumacher takes the lead at the start) I'll read it tonight.
http://www.broody.org/fea-knuth.pdf
~~ What's stopping you?
http://access.adobe.com/adv_form.html
just enter the url of said pdf and hit submit and voila good ol' html is returned
But I think that it's important to note that Donald Knuth, like many other brilliant men, is a Christian. Thus, it's unlikely that he would presume himself to be God.
:-)
It *is* funny, though.
Regards,
Anomaly
But Herr Heisenberg, how does the electron know when I'm looking?
Well, I would like to ask the slashdot editors to please post more Knuth news. I think that his contributions to Computer Science deserve to be more widely appreciated by everybody even remotely connected with Computer Science (and not only the theoretically inclined people).
Unfortunately, I recognize that not everybody reading Slashdot has a theoretical education in Computer Science (well, many people are only practically trained -- if such a thing even exists) and miss the elegant construction of algorithms that Donald Knuth does in his books, algorithms which are efficient both regarding space and time (things which I miss in most software being written today, sadly).
This is not to mention the care with which his books are written, from didactic, technical and typographical standpoints: a lesson on how to write well.
I guess that the problem I mentioned above about current programmers writing code which is not exactly space- and time-efficient is that they must think "it's not worth it" (or many haven't actually even thought about the subject). A pity indeed.
This is, unfortunately, one of the bad sides of the ease of current (integrated) programming environments (which doesn't man that they are bad): people which aren't exactly trained can program, their programs run, but in a sub-optimal way.
I also think that many programming environments are an incentive to trial-and-error programming ("recompiling the program is too easy -- don't even bother to think if we have to add 1 or subtract 1"). This, of course, leads to sloopy programming.
Anyway, back to Knuth, I would really love to see a Slashdot interview with him, as I would appreciate anything regarding him and computers.
http://www.heise.de/ct/02/05/190/default.shtml
q _Xthv8cC:w ww-x.nzz.ch/folio/next/articles/haffner.html
and an general article about Knuth.
Google cache (got an 404 on orginal article)
http://www.google.de/search?q=cache:xZ8
Ein ganz normales Genie
Den Lehrstuhl hat er aufgegeben, die E-Mail-Adresse gelöscht, und besuchen darf ihn nur, wer mit ihm vierhändig die Kirchenorgel spielen kann. Donald Knuth opfert alles dem Werk, das er vor vierzig Jahren zu schreiben begonnen hat: die Bibel der Computerwissenschaften.
Von Peter Haffner
Er fällt auf im Kreis der Kirchgänger, die dem Gotteshaus der First Lutheran Church an der Homer Avenue in Palo Alto zustreben, einer kleinen, hellbraun gestrichenen Kirche in einem der stillen, pastoral anmutenden Wohnviertel von Stanford Town. Doch nur deswegen, weil er die meisten um mehr als einen Kopf überragt. Denn wer ihn dann sieht, wie er, den Oberkörper in Demut gebeugt, seine Gebete verrichtet, würde nie vermuten, dass dies erst recht im übertragenen Sinne gilt: Donald Knuth, eines der treuesten Mitglieder von Pastor Segerhammars Gemeinde, ist der Guru der Computerwissenschaft. Er ist der Mann, um den sich Legenden ranken nicht erst seit dem Tag, an dem er sich aus der Welt zurückzog, sein Werk zu vollenden - The Art of Computer Programming, so etwas wie die Bibel der Branche.
Für das Opus magnum, das er selbst nur TAOCP nennt und dessen letzter Band, so Gott will, in einem der nächsten Jahrzehnte erscheinen soll, hat Knuth die höchsten Auszeichnungen erhalten - den Turing Award, die National Medal of Science und den Kyoto-Preis, an Bedeutung dem Nobelpreis gleich. Und obwohl unvollendet, wird The Art of Computer Programming bereits zu den zwölf einflussreichsten Wissenschaftsbüchern des zwanzigsten Jahrhunderts gezählt - zusammen mit Paul Diracs Quantum Mechanics, Albert Einsteins Die Grundlage der allgemeinen Relativitätstheorie und den Principia Mathematica von Bertrand Russell und Alfred North Whitehead.
Die Feiern zu Verleihungen von Preisen und Ehrendoktoraten rund um den Globus sind, neben dem sonntäglichen Gottesdienst im Universitätsstädtchen im Herzen des Silicon Valley, nahezu die einzigen Gelegenheiten, Professor Knuth in der Öffentlichkeit zu sehen. Vorzeitig emeritiert, übernimmt er keine Verpflichtungen mehr, gibt keine Interviews. Das Büro des Professor Emeritus of the Art of Computer Programming im Computer Science Department der Universität, noch übervoll mit Büchern und Papieren, ist verwaist. Maggie, seine Sekretärin, eine beeindruckende, in feuerrote Seide gehüllte Erscheinung, hält da Wache, besorgt, ihm alles vom Leib zu halten, was ihn in seiner Konzentration stören könnte. Donald Knuth arbeitet zu Hause, abgeschirmt auch da - nur der Name seiner Frau Jill steht im Telefonbuch.
Wann immer in der Computergemeinde die Rede auf Donald Knuth kommt, werden Anekdoten herumgeboten, in deren Pointe eine Prise von feierlichem Ernst liegt. Selbst die jungen Cracks, die längst mit anderem beschäftigt sind als mit den fundamentalen Algorithmen und formalen mathematischen Beweisführungen, für die Knuth berühmt geworden ist, zollen dem Doyen Respekt. Auch wenn sie dann lieber von dem reden, was jetzt hip ist - Object Orientation, Pair Programming, Extreme Programming und dergleichen mehr.
Jason Brazile etwa, ein junger Amerikaner, der seinen Arbeitsplatz im Loft einer jener Softwarefirmen hat, deren Geschäftsleitung kaum älter ist als ihre Lehrlinge, gibt die Geschichte von einem der ersten Programme zum Besten, das Knuth noch als Schüler schrieb. Es erlaubte, die Leistungen der Basketballspieler seines College auf Grund verschiedener Kriterien zu bewerten, wurde erprobt auf einer IBM 650 und brachte dem Team den Titelgewinn. Und den jungen Autor in die Spalten von Newsweek. Knuth kann irgendetwas von der Strasse auflesen und Mathematik daraus machen, resümiert der Schweizer Erich Gamma, der, eben erst vierzigjährig, selbst zum Software Pioneer gekürt worden ist, zusammen mit Altmeistern wie Niklaus Wirth, Edsger Dijkstra und C. A. R. Hoare. Für Gammas Generation ist Knuth ein Monument, an dem vorbei man seine eigenen Wege geht.
Und doch, wer die Gelegenheit hat, möchte sie nicht verpassen. Einmal im Monat, wenn's geht, gibt Knuth in Stanford eine Vorlesung, und das Publikum strömt in Scharen zu diesen Computer Musings, einer Art von amuse-gueule für mathematische Feinschmecker. Totally Acyclic Digraphs (Spiders) and how to squish them heisst das Thema der achten Christmas tree lecture, über das Knuth an diesem 6. Dezember 2001, einem klaren, sonnigen kalifornischen Wintertag, im Hörsaal des Gates Building spricht. Doch was heisst da sprechen: Er stammelt, stottert, wiederholt sich, korrigiert sich, kritzelt und krakelt auf den linierten Schreibblock, der vor ihm liegt und auf eine Leinwand projiziert wird. Auf der ist, überlebensgross, nur seine Hand, der Filzschreiber und das, was er notiert, zu sehen - Nullen und Einsen, X und Pfeile, die mit Befehlen wie while, change, false, return true und return false in Reih und Glied gebracht werden.
Bald schon findet sich der Dozent in dem Papierwirrwarr nicht mehr zurecht, streicht sich die spärlichen Haare über die Glatze, blickt hilfesuchend ins Leere. Was dem Laien alles etwas seltsam vorkommt, bis er realisiert, dass er hier nicht Konsument eines Produkts, sondern Zeuge eines Denkvorgangs ist. Gebannt lauschen denn auch die Studenten, runzeln angestrengt die Stirn, lachen und rufen, hat er einen Fehler gemacht, ungeniert dazwischen. Was Donald Knuth nie zu verdanken vergisst.
Nach eineinviertel Stunden ist er erschöpft. Das Publikum steht Schlange, um sich die ersten drei Bände von The Art of Computer Programming signieren zu lassen, auf deren Fortsetzung man nun schon seit bald drei Jahrzehnten wartet. Weshalb Knuth, in Bluejeans, über den grauen Rollkragenpullover auch das hellgelbe T-Shirt gestreift hat, das, wie er eingangs bemerkt, seine Frau ihm vor Jahren schneiderte: Reklame für Band vier. Das ist eine grosse Ehre für mich, sagt mit einer tiefen Verbeugung der japanische Student, der neben Knuths gesammelten Werken eine Videokamera mitgebracht hat, um die Begegnung mit dem Meister filmisch festzuhalten. Sie kennen mich doch nicht!, sagt der mit einem milden Lächeln, während er geduldig seinen Namen in die Bücher schreibt.
Es war Maggie, Knuths Sekretärin, die die Türe schliesslich geöffnet und ein Gespräch ermöglicht hat. Dass der Eremit trotz der Firewall, die er um sich aufgebaut hat, weder ein Autist noch ein idiot savant ist, war zu vermuten. Auf seiner Homepage figurieren unter den FAQs nicht nur Antworten auf Fragen wie die nach dem Erscheinungsdatum von Band vier von TAOCP, sondern auch, woher er die coole Brille hat und wie man die Bücher seiner Gattin bestellt. Und so akkurat wie über Wissenschaftliches wird man über die Geburt eines Enkels, den Tod einer Tante oder die Tatsache informiert, dass Knuth nun seit exakt vierzig Jahren mit ein und derselben Frau glücklich verheiratet ist.
Donald Knuth ist ein umgänglicher Mensch, der auch in Gesellschaft dem Prinzip huldigt, das er über sein Leben gestellt hat: dass man, was immer man tun will, mit höchster Konzentration tun soll. Und dass man, wo dies nicht möglich ist, es lieber gleich ganz bleiben lässt. Wir Computerwissenschafter, sagt er, nennen das batch processing, Stapelverarbeitung. Genauso arbeite ich: immer eines nach dem anderen.
Zwei Stunden pro Tag verbringt er in der Bibliothek, alle vier Monate reserviert er sich eine Woche, um die 35 abonnierten Fachzeitschriften durchzusehen, vierteljährlich einen Tag, die eingegangene Post zu beantworten, und halbjährlich einen, wenn überhaupt, für die eingetroffenen Faxe. Und Tag für Tag freut er sich, dass er seit 1990 keine E-Mail-Adresse mehr hat - nicht ohne andere auf seiner Website zu mahnen, sich doch endlich den Bindestrich zu schenken und Email zu schreiben. Wie viel Lebens- und damit Arbeitszeit das sparte! Die Unbeirrtheit hat etwas Antikisches. 1962 hat Knuth das Werk, mit dem er Computergeschichte schreibt, begonnen. Damals noch Student am California Institute of Technology, hatte er einen Ruf als whiz kid, weshalb ihn der Verlag Addison Wesley fragte, ob er nicht ein Buch über Compiler schreiben wolle, über Programme, die eine menschennahe Programmiersprache in Maschinensprache übersetzen. Vier Jahre später, er war noch keine dreissig, hatte er 3000 Seiten von Hand zu Papier gebracht. Ich dachte, das würde etwa 700 Buchseiten ergeben, aber der Verleger sagte, das ergebe genau 3000, also entschieden wir uns, die ganze Sache auszuweiten und in sieben Bänden herauszugeben.
Noch gilt der Plan. Band vier, den er jetzt in Faszikeln veröffentlicht, soll 2007 fertig sein und rund 2000 Seiten umfassen, dann wird Band fünf drankommen, während er gleichzeitig die Bände eins bis drei überarbeitet und aktualisiert, worauf er beabsichtigt, eine Kurzfassung der Bände eins bis fünf zu publizieren, bevor er sich dann an die Bände sechs und sieben macht, die er, wie er meint, schreibt, wenn das, was ich zu den betreffenden Themen zu sagen habe, noch relevant sein wird und von niemand anderem gesagt worden ist.
Das Talent, sich in der Welt der Ziffern und Zeichen zu bewegen, zeigte sich so früh wie die Hartnäckigkeit, ein einmal gestecktes Ziel zu verfolgen. Im achten Schuljahr beteiligte er sich an einem Wettbewerb, den ein Süsswarenfabrikant ausgeschrieben hatte; es ging darum, wer am meisten Wörter aus den Buchstaben des Produktenamens Ziegler's Giant Bar bilden konnte. Der kleine Knuth legte eine Liste von 4500 Wörtern vor - 2000 mehr, als die Jury hatte -, gewann den ersten Preis, einen Fernseher, sowie genug Schokoriegel, die ganze Schule zu versorgen.
1956, im Alter von achtzehn Jahren, begegnete er, noch vor seinem ersten Mädchen, erstmals einem Computer. Der Transistor war erfunden, die zweite Generation von Rechnern erblickte eben das Licht der Welt, und universelle Sprachen wie Fortran und Cobol begannen die Maschinensprachen abzulösen. Knuth brachte sich das Handwerk selber bei und war darin, wie er rasch erkannte, einiges besser als die Verfasser der Handbücher, die mit den Maschinen geliefert wurden.
Computerwissenschaft hat mit abstrakten Dingen, mit Mustern zu tun - wie Mathematik, wie Musik, sagt er. Man springt ständig von einer Ebene zur andern, vom Kleinen zum Grossen. Es ist die Art des Denkens, die uns unterscheidet - zum Beispiel von der von Medizinern, wo es darum geht, eine Diagnose zu stellen. Dass die Computerwissenschaften so explodiert sind, meint er, hat seinen Grund nicht zuletzt darin, dass Leute, deren Denken immer schon so strukturiert war, plötzlich die Mittel in die Hand bekamen, es anzuwenden. Wenn ich alte Arbeiten lese, die vor Hunderten von Jahren geschrieben worden sind, erkenne ich sie am Stil, diese Autoren, sagt er. Lebten sie heute, wären sie Computerwissenschafter.
Knuth, der das Case Institute mit summa cum laude abgeschlossen und von der Physik zur Mathematik gewechselt hatte, ging nach dem Caltech nach Stanford, wo er später den ersten Lehrstuhl für Computerwissenschaften einnahm. Edsger Dijkstra, der Lehrmeister der ersten Programmierer, war einer der wenigen, von dem er etwas hatte lernen können. Was ihn von diesem unterschied, hat Ed Schonberg, ein Schüler, so zusammengefasst: Von Dijkstra lernten wir, was falsch und was richtig ist. Von Knuth aber, was soso lala und was wirklich toll ist.
In den meisten Wissenschaften sind die Gründerväter längst unter der Erde. Was Darwin für die Biologie, Newton für die Physik, Euklid für die Geometrie geleistet hat, liegt Jahrhunderte zurück. Nicht so in der Computerwissenschaft. 1966, als Knuth sein Manuskript vorlegte, konnte ein Einzelner noch das gesamte Forschungsgebiet überblicken. Heute ist es wie in jedem anderen Fach auch - keiner weiss, was der Kollege tut. Ob ihn das nicht frustriert, da er sich doch vorgenommen hat, das Buch der Bücher seiner Wissenschaft zu schreiben? Hätte ich gewusst, was auf mich zukommt, hätte ich nie angefangen, sagt er. Und manchmal, wenn ich morgens aufstehe, kommen mir Zweifel.
Aber wenn er sich dann an die Arbeit macht, sich an seinen Tisch unter das Poster mit den Bibelversen setzt, erzählt er, ist es immer aufregend, und nicht selten passiert es, dass er aus dem Zimmer rennt und seiner Frau zuruft, was für grossen Spass ihm das alles doch mache, entzückt, die Lösung für ein Problem gefunden zu haben. Längst hat er es aufgegeben, das gesamte Gebiet der Computerwissenschaft behandeln zu wollen. Jetzt will er sich nur noch mit dem befassen, was er als den Kern des Ganzen ansieht, mit den Fundamenten. Dass diese solide sind, ist in der Praxis da wichtig, wo es darauf ankommt, hundertprozentig fehlerfreie Programme zu schreiben - Programme, die medizinische Apparate, Raketen oder Nuklearanlagen steuern. Betaversionen kann man sich nicht leisten, keine Tests nach dem Trial-and-Error-Verfahren wie bei der Software, die unsere Kaffeemaschine, den Videorecorder oder den Heimcomputer steuert und uns mit ihren Mucken immer wieder zur Verzweiflung bringt.
Gut, dass sich andere mit solchen Dingen beschäftigen: Es gibt mir Zeit, das zu tun, was ich am besten kann - und das sind eben die mathematischen Beweisführungen. Er redet von der Pflicht, von seinen Talenten Gebrauch zu machen, vom Sinn der Beschränkung auf das, was ihm intellektuell Befriedigung verschafft, und vom Schicksal - dem Gefühl, das tun zu sollen, wozu Gott ihn ausersehen hat. Ich laufe nicht herum und befasse mich mit jedem Problem, über das ich stolpere. Ich löse die, von denen ich den Eindruck habe, dafür genau der Richtige zu sein.
Wenn andere anderes besser können, um so besser. Es gibt Leute, die suchen nach neuen Grenzen, pflanzen die Fahnen auf, sagt er und meint, er gehöre nicht dazu. Er sieht sich als der, der das Feld bestellt und für Ordnung sorgt; eine Bescheidenheit, die dem Verfasser von dreien der bedeutendsten Algorithmen und Autor revolutionärer Programme gewiss unrecht tut. Knuths Pionierarbeit über Compiler wurde grundlegend für die weitere Entwicklung von Programmen, die zwischen Software und Maschine vermitteln, seine Forschung zur Semantik von Programmsprachen war wegweisend, moderne Tools wie Java gäbe es nicht ohne seine Vorarbeiten. Aus seiner Feder stammen CWEB - eine Software, um lesbare Programme zu schreiben - sowie Tex und Metafont, zwei Programme für digitale Typographie, die gerühmt werden für ihre Schönheit und nichts anderes zum Zweck haben als die Schönheit selbst.
Um diese beiden, seine Lieblingsprogramme, zu schreiben, hat Knuth die Arbeit an The Art of Computer Programming für ganze zehn Jahre liegen lassen, zehn Jahre, in denen er keine Briefe mehr beantwortete, bis er die Sache bugfree und das Ziel erreicht hatte: dass Mathematiker, Wissenschafter, Musiker und wer auch immer Sonderzeichen benötigt, um seine Manuskripte auf dem Computer zu schreiben, diese in typographisch ansprechender Form zur Verfügung haben. Er konnte es nicht ertragen, seine Bücher in dem scheusslichen Computersatz, der den Bleisatz ablöste, drucken zu lassen; lieber hörte er auf zu schreiben. Dank Knuth weist nun das griechische Delta die richtige Krümmung auf, kann jede chemische Bindung korrekt geschrieben und selbst ein gregorianischer Choral in zeitgenössischer Schrift notiert werden. Wie alles, machte er auch dies mit der ihm eigenen Gründlichkeit, schrieb eine Arbeit allein über den Buchstaben S, in welcher er dessen sich durch die Jahrhunderte verändernde Gestalt mathematisch zu erfassen suchte; mehrere Tage, sagt er, habe es ihn gekostet, die Formel zu finden, die dem Buchstaben den angemessenen Schwung gibt.
Tex, das Programm, das die Typen auf der Seite positioniert, und Metafont, das ihre Gestalt definiert, können heute als freeware gratis vom Netz heruntergeladen werden. Zwei tschechische Astronomen, denen es endlich glückte, ihre wissenschaftlichen Arbeiten in sauberer Form niederzuschreiben, waren dafür so dankbar, dass sie den von ihnen entdeckten Kleinplaneten Nr. 21656 nach Knuth benannten. Knuth misst knapp fünf Kilometer im Durchmesser und befindet sich, wo das Geistige herstammt - im Sternbild Aquarius.
Programmieren, sagt Knuth, sei für ihn eine Form, Kunst zu machen, und er möchte, dass man seine Programme liest wie ein gutes Buch - bezaubert von der Schönheit und der Eleganz, mit der die Botschaft vermittelt wird. Als er 1958 Stan Poleys SOAP-Assembler-Programm studierte, war es um ihn geschehen gewesen; da war ein Autor am Werk mit einer Handschrift und einem Stil, der ihn begeisterte. Auch er wollte Autor werden, ein Leseerlebnis vermitteln, Programmzeilen schreiben, an denen es nichts mehr zu verbessern gibt. In seinem berühmten Essay über Computer Programming as an Art von 1974 meinte er, es müsste eigentlich auch, wie in der Literatur, Kritiker geben, die das zu würdigen und Pfusch zu verreissen wüssten.
Jede Woche verfasst er ein kleines Programm. Es ist wie Gedichte schreiben: Ich wache auf, und die Zeilen fliegen mir zu, sagt er. Und wenn ich dann daran herumfeile und es mir gelingt, eine Zeile zu verbessern, bin ich überglücklich. Er lacht immer ein bisschen, wenn er solches erzählt, als machte es ihn verlegen, vom Kuss der Muse und vom Glück, das er dabei empfindet, zu reden. Eine besondere Befriedigung verschafft es ihm, etwas mit beschränkten Mitteln zu erreichen. Einen Compiler zu schreiben für einen primitiven Minicomputer mit nur 4096 Wörtern Memory, 16 Bits pro Wort, hat ihm das allergrösste Vergnügen bereitet. Georges Perec ist sein Lieblingsautor; einen Roman zu verfassen, in dem der Buchstabe e nicht vorkommt, sieht er als Herausforderung für einen Künstler, alle seine Kräfte zu erproben. (Er hat selber einen mathematischen Roman verfasst, Surreal Numbers.) Als ich Programmieren lernte, konnte man sich glücklich schätzen, wenn man fünf Minuten pro Tag an die Maschine durfte. Und wenn man wollte, dass das Programm lief, musste man es eben richtig schreiben, erzählt er. Programmieren war, wie in Stein zu meisseln. Teure Computerzeit und kleine Speicher zwangen zur Ökonomie - und damit letztlich zu etwas, dem auch grosse Kunst verpflichtet ist: mit wenig Mitteln viel zu erreichen.
Es hat ihn zum Perfektionisten gemacht, und der Satz, der unter einem seiner Programme steht, ist in Computerkreisen zum geflügelten Wort geworden - gerade weil er, Knuth, wohl der Einzige ist, der solches von sich behaupten kann: Beware of bugs in the above code; I have only proved it correct, not tried it.
Er zahlt jedem, der einen Fehler in irgendeinem seiner neunzehn Bücher findet, 2 Dollar und 56 Cent und 327 Dollar und 68 Cent für jeden entdeckten Fehler in den Programmen Tex oder Metafont. Eine Liste der Errata findet sich auf seiner Homepage, und für Fehlermeldungen hat er sogar eine E-Mail-Adresse eingerichtet, knuth-bug@stanford.edu, die für andere Zwecke zu missbrauchen er eindringlich warnt. Antwort, verspricht er, erhält man innert sechs Monaten.
Wie in jeder Kunst ist auch in der seinen das Werk grösser als sein Schöpfer, dessen Scheitern programmiert. Kunst kommt aus dem, was wir nicht verstehen, sagt Knuth, und sie unterscheidet sich von der Wissenschaft darin, dass wir sie einen Computer nicht lehren können. Wir wissen zum Beispiel eine ganze Menge darüber, warum Mozart so schön klingt, kennen die Harmonien, die ganze Musiktheorie - und doch: Erst wenn wir versuchen, einen Computer dazu zu bringen, solche Musik zu komponieren, merken wir, wie unvollständig diese Regeln sind. Im Misslingen liegt der Reiz - ein Test darüber, was man wirklich weiss. Für Knuth ist es keine Frage, dass das Wissen um solche Dinge fortschreiten, die Wissenschaft sich Terrain erobern wird, das man ihr heute noch verschlossen glaubt. Aber ebenso scheint ihm klar, dass es Dinge zwischen Himmel und Erde gibt, die der Verstand nie begreifen wird, und im Gegensatz zu vielen seiner Kollegen ist er ganz zufrieden damit.
Ich schätze die Tatsache, dass es Geheimnisse gibt, und ich wäre unglücklich in einer Welt, in der man alles beweisen kann, sagt er. Aber ich möchte auch nicht in einer Welt leben, in der man nichts beweisen kann. Das ist der Grund, weshalb ich Mathematiker, Computerwissenschafter bin. Es gibt etwas in meinem Leben, über das ich genau Bescheid weiss, Probleme, von denen ich mir sicher bin, dass sie eine Lösung haben. Wäre ich Astronom, müsste ich sterben, ohne je zu erfahren, ob das alles auch richtig ist, was ich geforscht habe. Das würde ich nicht aushalten.
Das Streben und die Suche sind es, was uns zu Menschen macht. Vielleicht wollte Gott deshalb, dass die Bibel mehrdeutig ist, sagt er, und hat sie uns zu einem Zeitpunkt geschenkt, bevor wir die modernen Technologien hatten. Hätten wir Jesus auf Video, was bliebe unserer Vorstellungskraft übrig? Dem Nachdenken, dem Ringen um die Wahrheit?
In Kalifornien, wo die Träume von der künstlichen Intelligenz geträumt werden und wo Computerwissenschafter sich nach ihrem Tod tiefgefrieren lassen, um dereinst, wenn die Medizin so weit ist, in jugendlicher Frische aufzuerstehen, ist solche Zurückhaltung nicht eben verbreitet. Die Hybris liegt im Beruf - der Mensch an der Maschine, Schöpfer eines Universums, über das er Macht hat.
Was Knuth hingegen mit anderen Computerwissenschaftern teilt, ist die Liebe zur Musik. Saxophonist und Tubaspieler in der Highschool-Band, hatte er mit einer professionellen Musikerkarriere geliebäugelt. Als er es sich leisten konnte, hat er sich in seinem Heim in Palo Alto eine ausgewachsene Orgel einbauen lassen, von Abbott und Sieker, L. A., nachdem er mehr als ein Dutzend Orgelbauer in Europa und den USA besucht und ihre Instrumente geprüft hatte. Opus 67, gestimmt auf norddeutschen Barock, hat 812 Pfeifen in 16 Registern und ein Gebläse von Meidinger aus der Schweiz, das er seiner Geräuschlosigkeit wegen wählte. Im zweistöckigen Raum, in dem das Instrument thront, stehen auch ein Bösendorfer-Konzertflügel und das Monarch-Piano, das Don von seinem Vater geerbt hat, der Kirchenorganist und Lehrer an einer Lutheranerschule war. Knuths Liebe zur Musik geht so weit, dass, wer mit ihm vierhändig spielen kann und exotische Notenliteratur mitbringt, eingeladen ist, ihn für eine Jam-Session in seinem Klosterleben zu stören.
Manchmal spielt er am Sonntag in der kleinen Kirche von Pastor Segerhammar. Es wird viel gesungen in der Gemeinde, die sehr auf Liberalität hält. Lesben und Schwule sind willkommen, und Pastor Segerhammar, ein Sportstyp, drückt sogar ein Auge zu, wenn sein prominentestes Gemeindemitglied seinen Gott auch in anderen Religionen am Werk und christliche Werte in fremden Kulturen findet. Lutheraner zu sein, heisst für Knuth, von seinem Verstand auch in Glaubensfragen Gebrauch zu machen. Die Einstellung hat er vom Elternhaus, das durchdrungen war vom Glauben an die frohe Botschaft und, wie er sagt, frei von Hypokrisie und moralischem Druck. Die einzige religiöse Enttäuschung, an die er sich erinnern kann, war, als er als Junge nach dem Besuch eines Jahrmarkts das Riesenrad, das er sich vom lieben Gott wünschte, am anderen Morgen nicht im Garten vorfand.
Den Dingen auf den Grund gehen will er auch in religiösen Fragen. Sein Sabbatical in Boston, das er seiner Frau zum fünfundzwanzigsten Hochzeitstag schenkte, indem er ihr versprach, ein Jahr lang die Einkäufe zu besorgen, zu putzen und zu kochen, nutzte er zur Niederschrift eines theologischen Buches, mit dessen Vorarbeiten er Jahre zuvor begonnen hatte. Er wollte Techniken, die er verwendete, um grosse Computerprogramme zu studieren, auf die Bibel anwenden.
Was die Mathematiker als Randomization bezeichnen, wurde zum 3:16 Project - einer Grand Tour durch die Heilige Schrift, deren Stationen der jeweils sechzehnte Vers des dritten Kapitels eines jeden der biblischen Bücher war, eine Reise von der Genesis bis zur Offenbarung. Dazu hatte er, wie er sagt, Tausende von Büchern durchstöbert mit den Kommentaren von protestantischen, katholischen und jüdischen Theologen aller Richtungen und Zeiten und darüber hinaus die Verse selbst mit Hilfe von Wörterbüchern aus dem Hebräischen und Griechischen übersetzt. Der Gedanke, an zufällig ausgewählten Stellen in die Tiefe zu bohren, statt ausgedehnte Passagen mit vereinzelten Kommentaren zu lesen, erwies sich als fruchtbar. Man bekommt ein ziemlich ausgewogenes Bild vom Ganzen, wenn man sich Stichproben genau ansieht. Mit Numerologie hat das nichts zu schaffen. Ich wollte nur dafür sorgen, systematisch unvoreingenommen zu sein, sagt er und weist darauf hin, dass man mit ein bisschen Zahlenzauber aus der Offenbarung des Johannes ohne weiteres einen versteckten Hinweis auf Bill Gates lesen kann. Sein Buch liess Knuth von Kalligraphen aus der ganzen Welt illustrieren; die Originale sind in der Harrison Collection of Calligraphy in der Public Library von San Francisco zu sehen.
Die Kollegen waren, obschon er seinen Glauben nicht auf der Zunge trägt, etwas irritiert über seine Beschäftigung, zumal es damals, in den achtziger Jahren, ganz in Ordnung war, religiös zu sein, wenn man Jude oder irgendeines anderen Glaubens, nicht aber, wenn man Christ war. Als Pastor Segerhammar ihm dann die Kanzel überliess, als Maleachi 3,16 auf dem Predigtprogramm stand, nutzte der Herr Professor die Gunst und las fast eine geschlagene Stunde über seine Funde. Was dem Pastor dann weniger des Inhalts als der Geduld seiner Gemeinde wegen Sorgen machte.
Man sieht ihm den workaholic nicht an, wenn er, seine nicht viel mehr als halb so grosse Frau Jill an der Seite, nach dem Abendmahl im Vorraum der Kirche mit den anderen Gemeindemitgliedern plaudert, Kaffee trinkt und Kuchen isst. Ein Smørgasbord steht auf dem Programm; es ist Santa-Lucia-Fest, ein schwedischer Brauch, der an die Christenverfolgungen zur Römerzeit erinnert.
Lucia, gespielt vom ältesten Mädchen, trägt eine Kerzenkrone, Starboys und Gingerbread Children im Gefolge, und Donald Knuth steht in der Kirchenbank und singt aus voller Kehle mit, als ob er nichts im Leben lieber tun würde. Dann, wie er den Löffel in den Reispudding steckt, der im Anschluss an die Feier gereicht wird, meint er plötzlich: Ich muss unbedingt versuchen, musikalische Haikus zu komponieren. Sie kennen die Harmonienfolge?
Und fährt den Gast, der überzeugt ist, einen glücklichen Menschen getroffen zu haben, in seinem alten rostroten Volvo Kombi zum Hotel.
I went to compusa they didn't have either tex or latex, but they did have ms office
Danny.
I have written over 900 book reviews
I'm sure that at times, most everyone in a technical field feels like everything has been done before. It's nice to know that someone as badass as Knuth has the same problem
Then I happened to sit next to an engineer at a big radio dinner and speech thing on a holiday party cruise - we picked out all the fonts, figured out where the photocopier for the custom meny had drum faults versus schmutz on the glass, and walked over to the corner, where they started laying out the menus, and found the printed original to verify it was laser printed.
Ghod, the speeches were boring.
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
I have 800x600 laptop and it is pain in the arse to
read this 2 column PDF file on it. I have to scroll
up and down all the time.
The guy is smart, but his choice of format is more suitable for old, soon to be obsolette printable media not for the Internet.
where's the DVI version of that transcript?!
... Knuth's lecture in pee dee ef. Nice. Man, really looks like TeX/LaTeX needs some help in the marketing dptmt, otherwise this will become an interesting academic exercise, nothing else.
What a shame. TeX is great and all, but look how things have turned out
"Only members of the sect need apply."
Again, TeX is excellent for publishing, but somehow it's getting old.
In short, give me dvi instead of pdf any day (and please!, someone write a decent gnome dvi viewer).
gyrx
Knuth: There's one man who lives near Frank-
furt who would probably have more than $1,000
if he cashed all the checks I've sent him. There's a
man in Los Gatos, California, whom I've never met,
who cashes a check for $2.56 about once a month,
Seems to me Microsoft has been pulling a reverse knuth. They have $2.56 from you for every bug they create!
$15 billion is about 5,859,375,000 bugs..
Taking into account MS has been around for 20-25 years... that figure sounds about right!
at least he says it on page 5, or there abouts, of the article. i guess everyone has faults, i'll give him this one. he's probably never used gvim :)
-- john
Apparently Richard Feynman, on the last day of classes each semester, made the class an optional thing where students could come and ask questions on any topic except religion, politics, and the final exam. And Knuth followed his example.
Now that I'm teaching, I'm thinking of trying that. I can't decide if I really want to exclude religion and politics, though. I wonder if they excluded those topics to avoid offending people, or because they thought those topics are too subjective/personal, or if it was for some other reason?
I also wonder if anyone would come on that day; the last day of classes in the spring at Cornell is "Slope Day", where all the undergrads hang out on the hill by the main library and get drunk (the police basically look the other way, as long as people aren't getting hurt). It's truly a sight to behold.
he says he believes in god, but i've never heard him claim a particualar religion. i'm just curious. he is quite the brilliant person though.
-- john
I don't know if that was intentional, but it does convey some of the sense of blithely ignoring the consequences of what we do.
Knuth truly does represent much of what is good an interesting about our profession.
..." is still frighteningly true; other engineering professions do not often have a commonplace equivalent of a blue-screen or core-dump. There are occasional engineering failures, but none as widespread as programming errors.
For those who didn't read the article, or didn't come across this fact elsewhere, Knuth actually personally writes a cheque to anyone who finds errors in his books.
While the algorithms and theory that he wrote about in his classic texts are used by computer programmers worldwide every day, it's unfortunate that the kind of pride of workmanship that he personally demonstrates, doesn't seem to be the norm.
I've always felt like the programming profession was, and still is, a bit of a joke as far as standardized quality goes, as compared to other engineering disciplines. The old joke, "if builders built buildings the way programmers wrote programs
Maybe because we're still forging new ground so quickly that it can't be expected to have solid results. Still, for things as standardized, commonplace, and essential as operating systems, the design should be such that a blue screen is unheard of.
-me
Love many, trust a few, do harm to none.
According to Knuth the last character of the official name is actually a capital Greek "Chi," not a Latin 'X'. Thus most Americans will pronounce it "tech." However, the Greek letter usually written in English as "Chi" is actually pronounced as an 'H' in Greek. Thus TeX really *should* be pronounced with an "h" sound at the end. I'm not sure how you'd write this in English (as "teh" would make the 'h' silent). Of course this goes for all other Greek-derived words ("character" and so on) as well.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Whole Lotta Bad C
[AC/DC Whole Lotta Rosie]
I wanna tell you a story,
about a bug I know,
when it comes to crashing,
oh it steals the show,
it aint exactly pretty, aint exactly small,
drivers/media/videodev you could say its got them all
Never had a bug, never had a bug like this,
killing all the things, killing all the things it does,
aint no fairy story, aint no kernel moan,
but you kdb it all a lot, oopsing on an intel clone
You're a whole lot of program
A whole lotta program
Whole lotta bad c
Ah you're a whole lotta program
Oh hacker you can do it
Debug for me all night long
Only one to chase
Only one to chase it up
All through the night time
And right around the clock
To my suprise
Oopses never stop
You're a whole lot of program
A whole lotta program
Whole lotta bad C
Ah you're a whole lotta program
You know, I went and installed Mandrake 8.1 on my crappy Celeron 500 this past January and I was pleasantly surprised with the eye-candy-riddled installer, etc. I installed the office workstation package group. When I got done, I wrote a letter, and soon discovered that TeX was not included! What the hell? I get the impression that the folks at Mandrake are too busy trying to make their product look like an MS-bundle system to include a decent word processor. I think the world would be a better place if folks would try to stop imitating the WYSIWYG giants (Corel, MS, SUN) and start evangelizing about TeX and LaTeX. I can't remember the last time I used a WYSIWYG word processor when I had a choice.
As a mathematician, I am forever grateful for Knuth and Lamport. They are the Gutenburgs of our time.
Black box testing good. White box testing painful.
I second this motion. Humor is humor, learn to laugh at yourselves and at racism Slashdot. If we can't make light of ourselves and at the stupidity of the world what do you we have left?
Given that outfit, I don't think I could have refrained from asking him about the Dark Side of the Force.
If I were learning this stuff today, I'd probably learn Tex / LaTeX, but the stuff really is ugly. I'd rather have a good math package for html.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
I think Slashdot should agree to give us money every time we find an error in a story writeup that mentiones Knuth.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
I tried to read this file with the newest version of Word and it wouldn't load right. Perhaps Bill Gates will send me money if I tell him?
Should really be proud to work with a legend. ..
:-)
I have been coding in C for six years, without
seeing the internet, then I saw the picture of
Denis Ritchie, and I almost brusted in tears
ahem, I actually did.
I have read about Ritchie, Kernighan, Thomson,
Pike, and the rest of the bell guys (from books.)
Then I got into BBSing, and read source code writen by
Joy (and the rest of BSD), McKenzie (and few other GNUers.)
, Kees J Bot and the Minix hackers at Vrije or just around MINIX,
Bob Stout, Paul Hsieh, Terje Mathisen, Delorie, the DOS extender
scene lead by TRAN and many many others who have release public
domain Unix and DOS source code.
I have read almost every line of code, I could lay my hands on. To
the point I was able to reuse a huge table of hex #defines, I ripped from
a compression code in another project (I didn't know about perl, and
generating constants for table driven code was a bitch. I knew about
code that had the exact same values
Then I met Knuth. It was a new birth. It had the same effect on me, as
reading Abelson&Susman had, a bird's eye view of all that is there.
It took me 11 months to learn Chapter 1 (without the MIX specs!) but after
that, it was a revelation, and I am never the same man ever since.
How embarrassing.
Are you OK?
:-) :-)
If you have an IRC client, you can always go online and
chat with people. Assuming you are not able to meet anyone
in real life.
Slashdot is not the best place to make friends. The moderation
system is too harsh on offtopic posts, and will silence you,
without any disregard to the human element.
I really sugest you don't follow this posts very seriously. They
are not personal in anyway, and no one knows any other.
As far as SNL is concerned, a great show
I usually watch the reruns during my lunch break. I also like
Kids in the Hall
Take care.
MathML is intended to be such. Without some additional formatting work it wouldn't be a good typesetting language though, as (in the tradition of HTML) it merely specifies the mathematical formulae, leaving their exact rendering up to the browser (while for typesetting you probably want some more exact control).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
As an example of what can go wrong, look at your average TeX-written math/cs paper on your average PC screen. The font's too grainy and greeky to read at 75-100dpi, and it's probably in some two-column format that looks really nice printed on portrait-mode dead trees, but is horrendously annoying to read on a portrait-mode screen that can only display about half a paper page at bad resolution. Arrrgh!
Somebody once commented that there are better renditions of the TeX fonts for PCs - I think it was a TrueType implementation of CMR fonts or something, but it's been too long to remember the correct details.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Asim
www.asimjalis.com
Given the amount of spam and general crap that floats around on TCP/25, I say he's taken a great leap across the chasm. Imagine how much more difficult life would be for the spammers if suddenly 3/4 of the Internet population suddenly stopped using it. He probably feels good about it, the same way I felt good when I wiped Windows from my system for 100% Linux.
You copypasted this from www.adequacy.org
I tend to agree, LaTeX/TeX is pretty horrible for computer-readable stuff. It's basically designed for typesetting printed pages, and is only really good at that. But many papers are available like that because the authors are writing them primarily for journals, and outputting to a PDF they put up on their website is the easiest way to publish it online.
So yes, for web stuff, I think MathML is the best choice. It's now supported by default in the latest Mozilla; I don't know about other browsers. Unfortunately it's not usable in a standard HTML document, but only in XHTML documents (XML/CSS basically), which makes it have a bit of a learning curve. But then again LaTeX certainly has a learning curve...
The main argument I've seen against MathML by mathematicians is that it's clumsier than LaTeX to use a lot, especially for those who are already used to LaTeX. Basically this is due to the nature of XML tags -- and pairs are going to be more clumsy to use a lot than LaTeX's \( and \) commands.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
The last half of the last sentence should read "-- and and pairs are..."
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
My understanding is that MathML isn't really intended for writing directly (though, of course, you could). Rather, it's an open standard for implementation in other programs.
Of course, it shouldn't be to hard to create a LaTeX -> MathML filter?
George Washington?
A modern TeX installation produces nice, scalable, PDF-output (using PostScript fonts, and so on) directly.
On the most widely used Unix platform (Mac OS X) you even get a full, clear, anti-aliased rendering of your TeX documents free, in an integrated (and free) editing environment.
I go to quite a few TUG gatherings. Almost everybody uses the pdf* TeX-variants these days, and an overwhelming majority of the TeX community has adopted Mac OS X as the leading platform for all things TeX.
And it reads very well on-screen. Just use a decent screen, a decent PDF-rendering OS, and a TeX installation less than a few years old.
Donald Duck is l33t
[Talking about the impact of TeX on publishing...]
I can't go to a restaurant and order food because I keep looking at the fonts on the menu. Five minutes later I realize that it's also talking about food. If I had never thought about computer typesetting, I might have had a happier life in some ways.
Donald Knuth, uber-geek!
I usually generate two outputs of my LaTeX documents: Postscript and PDF. The PDF version usually looks a bit better on screen than the PostScript version.
mind you: I generate the PDF version using pdflatex . I can't remember exactly, but I think I've seen a utility that converts DVI files to PDF and that this produced horrible output. use pdflatex .
because generate multiple output formats (PS, PDF and HTML) from the same LaTeX document, I usually use a package I wrote that contains a lot of convenient macros to make use of the different features in the different formats -- in addition to automating a lot of boring tasks.
I remember how delighted I was when I discovered pdflatex. once you work it into your repertoire you get all this cool stuff for free, like hyperlinks in PDF documents etc. I really recommend you give it a try.
Check out the PDFTeX web page for more information.
Also have a look at Matt Welsh' page about creating presentations in PDFLaTeX. He has some useful information on how to install TrueType fonts for use by PDFLaTeX.
-Bjørn
1. I surfed Web sites on Ada evangalism, and I think they have a hard time quantifying an improvement over C++ -- either C++ is not that bad or programmers manage to make mistakes in Ada. 2. I get the occasional GP fault in Borland Object Pascal. Most common is accessing nil object references -- they should do some kind of Objective C/Smalltalk nil object type to at least throw a meaningful exception. Forgeting to invoke default constructors and destructors is another big one -- maybe C++ has the right idea of automatically invoking constructors and destructors on base classes. More infrequent but tremendous time waster is Windows itself. I was resizing a window I hadn't done Show() on -- gave a crash in Windows 95 but not Windows 98 and took forever to track down. There is still stuff with palatte management that is the source of annoying performance bugs and screen-doesn't-look-right.
Ok, someone please answer this for me:
Is it "Kha-nooth", or "GNUth"
The answer begs for a hardware solution (plus efficient software). In the TeX book Knuth mentions how at 1000 dpi and owing to the smudginess of such tiny ink blobs the discrete nature of fonts disappears and a type face rendered at that resolution appears to form continuous and smooth arcs even though it is digitized. The 72 to 100 dpi nature of CRT and LCD displays is itself too grainy and needs to get up to at least the 300 (or hopefully higher) resolutions before the graininess begins to fade to a normal sighted person. IBM has an LCD that was reported on /. that does 300 dpi, but it is not on the market yet.
Electronic paper will also require fast graphics processors and efficient image lookup and font kerning algorithms to be effective and faster than a slow laser printer. Does anyone here recall "Display PostScript (tm)" that gave way to "Display PDF (tm)"? Things could be even better in the future (as will gaming).
The problem is that when you run dvips the CMR fonts get rendered as bitmaps into the postscript file, so that when you view it on the screen there's no way to hint or antialias them. You can either configure dvips to substitute Type 1 fonts for the MetaFont ones or (what I do) use pdftex to directly make PDF files. These are a lot nicer for viewing and still print just as well.
And all this time I thought it was Al Gore who wrote TeX!
Afterall, why do you think they call it "GORE-TeX"?
While I agree in principle that software should be less bug ridden, I have to disagree with the point you are making above. In my experience, rarely do "crashing software" stories have a relation to people loosing their life. And coversely (contrapositively? I don't know), software which is used in applications where their failure causes almost assured death are not using operating systems prone to the "blue screen of death". Contrast that with the examples used in the engineering analogies. Bridges collapsing cause death. Buildings collapsing cause death. MS Outlook freezing up for the umpteenth time is annoying and unprofessional, but does not normally cause death.
In short... good point, bad analogy.
Move on. There's nothing to see here.
Comment removed based on user account deletion
I think a new phrase has been coined!
Knuth farts. Everyone listens. Not to hear his sounds, but to boast to their friends they are into Knuth.
Also reported, number of people who use the excuse "I'll wait until it's finished" for not reading The Art of Computer Programming trebled recently after Knuth had answers published.
Finally, slashdot comment modded to record low after readers angrily reacted to anything that makes fun of all they revere. Sensitivity at all time high.
Film at 11.
http://pcblues.com - Digits and Wood
Do you think your students really care about your views on such matters?
Beware having such a format in your class unless you feel confident your students respect you. Otherwise you might get more than you expected. Feynman could really handle himself socially.
What if a student asked you about your recent sexual activities?
Last holidays, I was given a copy of Things a Computer Scientist Rarely Talks About, a transcript of a series of six lectures by Knuth on the subject of religion. (Why six? "Because I could only think of six funny things to say for the lectures... and that was the first one.")
It's fascinating. Much of the lectures he talked about his 3:16 project, and the rest was an open Q&A session. Even if you're a hardcore atheist, you should pick up a copy; there's no preaching, and the audience discussion is far more insightful than the crap you're paying subscriptions for here on slashdot.
(Random bit of trivia from the book: for the project, Knuth used his own Bible translations. One of the lectures is mostly a "Bible-translate.HOWTO" commentary.)
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I'm speaking of modern Greek, in which the Greek letter X, or "Chi," is supposed to sound like an "H". The hard G sound is created through two ways -- either a double-gamma dipthong or a gamma-kappa dipthong.
Note also that this most Greeks pronounce ancient Greek in this way. It is only non-Greeks who pronounce classical Greek in the way you describe, and this interpretation is not accepted by any Greek scholars I know of. There's really very little evidence either way for how classical Greek was pronounced, so most Greeks think that the fact that most classicists pronounce classical Greek with similar sounds as those found in German is simply a result of them being mostly Germans, not because this is actually the correct way to pronounce it.
Simply put, most classicists can't pronounce Greek, so they mispronounce it in their own language and decree that this is how it "used to sound".
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Yes, that's the German interpretation of classical Greek. As Germans were the leading classicists for most of the 20th century, it's accepted as the "standard" way of pronouncing ancient Greek, but it's really nothing more than mispronouncing Greek with a German accent. If you speak to any Greek person you won't find any pronounciations remotely similar to that (whether they're speaking modern or ancient Greek).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
ya
it's like an interview with knuth ... in pdf!
and isn't it ironic?
http://hpux.students.engr.scu.edu/~snataraj/377/kn uth%20talk.txt
has the speech as far as I could follow.
Say, don't you think Knuth looks like Darth Vader?
That actually looks pretty useful.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
I'll certainly be happy to use better display hardware when it's affordable, whether on CRTs, laptops, or PDAs. But I'm finding this article perfectly readable on a grainy CRT, while the typical latex->dvi->ps->pdf is pretty illegible unless magnified enough to show a small window into the picture. But even with better displays, I expect my laptop to be landscape-mode, not portrait, and my PDA to have way too small a screen. NeWs postscript-based window system was wonderful, at least compared with X or MSWindows, but there are still jobs for an content-description language like HTML/MathML rather than a page-description language like Postscript.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
At any rate, if you are confident in your assertion, I suggest you have a *lot* of reading to do.
Now its Scan and Pan ...
I forget...are we at war with Eurasia or East Asia?
Though true, we have to consider some key differences between buildings and software:
-Buildings are confined to physics, software (aside from Halting Problem and P=?NP) is confined to nothing. i.e. Software is infinitely more complex.
-Software is abstract, very hard to visualize since it usually requires more than a 3D model in our head.
-Also, once you make a 10 storey building, the client doesn't come back and ask for 25 additional stories and a 50 ft overhanging terrace on every other floor.
Of course, these points aside, we're still horrible at engineering, but we need to be aware of the complexity of our engineering before we can tackle it.
> Adolph Hitler was Catholic.
Only by heritage, at most he paid lip service.
> The Vatican owns Great Britain and the United Nations.
Ridiculous assertion, can you back it up? Great Britain is at odds with the Vatican for five hundred years already, and the United Nations actively promote actions contrary to the Vatican like artificial birth control.
> The Catholic religion was started by the Romans.
‘Catholicus’ means ‘universal’ – it’s not a proper name, but simply the expression of the Roman church pretension to be universally dominant. Anyway Romanism is a mixture of Christianity, heresy and Roman political institutions and structures. Nothing is as simple, you should read more than fanatical anti-Romanist tracts.
> The Catholic Church is evil.
Man is evil, Romanism is a human institution, therefore Romanism is evil. Man was created in God’s image, Romanism was created by man, therefore Romanism still has some reflections of God’s image, distorted as it may be. The same holds true to any other religious organization, from Eastern misticism to localist congregational protestant churches, but in varying degrees.
Again, nothing is so simple, neither God nor Man.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
On Unix: troff + eqn.
On IBM mainframes: Script (which spawned GML, which spawned SGML, which spawned XML), but I don't know how well it did mathematical formulas.
> I think Microsoft should say, "You'll get a check from Bill Gates every time you find an error"
Obviously we’d need MS Windows and MS Office source code to be able to find errors – without that Microsoft will usually just push it to the hardware or other aplications or specific configuration or user errors in the system tested.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
It's not a mirror, it's not a different interview. It is quite funny, however.
:wq