Knuth: All Questions Answered 400
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)."
He needs to answer one more question (Score:3, Funny)
The technology behind TeX (Score:5, Insightful)
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....
Re:The technology behind TeX (Score:3, Insightful)
In the publishing field, there is quite a lot of software used before latex and from what I understand, it's looked down upon by many as being lower quality (though it seems these stigmas originated in years past...I have no idea if they are still justified)--and I don't mean in comparison to MS Word or WordPerfect. The publishing field still also largely uses Macs...and pre-OSX macs at that.
Re:The technology behind TeX (Score:5, Interesting)
And LaTeX has been in use since 1986 IIRC. The current version (LaTeX2e) dates from 1994. I'm not sure the first PowerPC was commercialised at that time.
Not to mention that LaTeX is an extension of TeX, which is even older. The TeXbook has been published in 1984, which was after the release of the program itself.
If you have some name of program used before LaTeX and still in use, could you name them for us? Thank you!
Re:The technology behind TeX (Score:2)
Re:The technology behind TeX (Score:3, Informative)
Same year as LaTex, and with a GUI to boot.
Still around, still in active development (new release has been mentioned by Corel), and still the best layout application that is available, bar none. Even four or five years after its last release, it still does things that InDesign and Quark don't.
Re:The technology behind TeX (Score:2)
If I were to write the same function today, I probably would have used xml and xslt in some form.
Re:The technology behind TeX (Score:2)
Re:The technology behind TeX (Score:5, Informative)
I can't speak for general publishing, but for serious math publishing I have to respectfully disagree. If you have ever even remotely come into contact with serious mathematics you will be aware that Springer-Verlag (http://www.springer.de/) is one of the major publishers.
I have never prepared a manuscript for a Springer book or journal that was *not* in TeX format.
Could you give me some examples of the "quite a lot of software used before latex"? Specifically what "math" publishers use standards other than TeX... I'd truly be interested because I've never come across one.
As a side note, please be careful not to confuse LaTeX with TeX. LaTeX (which I admit to using most of the time) is kind of like "TeX for dummies". (Thats not entirely fair... LaTeX makes 95% of what I want to do easier and faster than plain TeX... but for that last 5%, LaTeX makes me want to punch things. LaTeX=easy, TeX=flexible).
Re:The technology behind TeX (Score:3, Funny)
This should be:
LaTeX = Flexible... it stretches well, at least!
Re:The technology behind TeX (Score:2)
eqn / neqn for troff / nroff (Score:2)
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.
math package for HTML (Score:3, Informative)
Letting browser control rendering is usually good (Score:3, Informative)
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.
Re:Letting browser control rendering is usually go (Score:3, Interesting)
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.
forgot to escape angle brackets (Score:2)
LaTeX and PDF (Score:3, Informative)
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 [tug.org] web page for more information.
Also have a look at Matt Welsh' page about creating presentations in PDFLaTeX [berkeley.edu]. He has some useful information on how to install TrueType fonts for use by PDFLaTeX.
-Bjørn
Re:LaTeX and PDF (Score:2)
One very nice thing about using pslatex (besides the superior scaling of the dvi file), is that the fonts used make your words take less space. It is a wonderful surprise when you're trying to sqeeze that last column into an 8-page paper, but aren't willing to abuse \scriptsize for the bibliography.
-Paul Komarek
Re:LaTeX and PDF (Score:2)
The problem with ps to pdf conversion is that ghostscript and Adobe don't see eye to eye about fonts.
You can fix it. Here is the script I use to compile all my LaTeX documents in pdf with nice looking fonts.
You should be using ghostscript 6.0 or higher.
Enjoy,
Kevin
#!/bin/sh
#
# Usage: texit [article]
#
# article is the name of the article to compile.
# article should have an article.tex and article.bib file in the current
# directory
#
# pdfit compiles the LaTeX file from scratch and
# produces a dvi, a ps file and a pdf file from it.
#
# Important errors and warnings (usually) from the compile are dumped to
# screen
# (important = something that is your problem and you should fix
# (not important = the whiny TeX errors about inability to hypenate a
# word such that the pagination agrees with the principles
# of Feng-Shui or other such typographical nit-picking)
#
# article.lof,
# in the current directory will be overwritten
#
# Details about the errors can be found in the log files
rm -rf $1.lof $1.lot $1.log $1.toc $1.aux $1.bbl $1.blg $1.fgx $1.tbx $1.end
latex '\scrollmode\input ' $1.tex
bibtex $1
latex '\scrollmode\input ' $1.tex
latex '\scrollmode\input ' $1.tex
latex '\scrollmode\input ' $1.tex
dvips -Ppdf -j0 -o $1.ps $1.dvi
ps2pdf13 $1.ps $1.pdf
clear
grep -n ! $1.log
grep -n arning $1.log
Re:LaTeX and PDF (Score:2, Informative)
Re:The technology behind TeX (Score:2)
I have prepared half a dozen SV manuscripts, in various venues, including Lecture Notes in Computer Science (LNCS). some are here [stanford.edu]
I've NEVER used TeX or LaTeX in those preparations.
Just another prespective...
Re:The technology behind TeX (Score:2)
If the 'equation density' of one's paper becomes greater than a certain point, the ease-of-use of Microsoft Equation Editor is outweighted by the raw speed of use of TeX. As a bonus, you get very nice looking mathematics too.
Yes there is more of a one-time investment in learning TeX, but after that you become very productive. With LaTeX in particular, the whole point is that you focus solely on content, and let the software worry about presentation. Its got nothing to do with being 'neat' or wanting 'kudos'. It has everything to do with 'how fast, and with how little effort on trivialities, can I produce a mathematics paper that doesn't look like a dog's breakfast?'
Re:The technology behind TeX (Score:2)
I couldn't answer your question about math publishers as I've never had experience there (and I did mention that the university type settings for which most math publishing is intended is highly texed), however, from looking at O'Reilly books, Quark XPress is used, gtroff is used, FrameMaker is used, and from my own experience Quark XPress and Autopage are used.
Sorry for my confusion between tex and latex.
Re:Biggest problem with TeX (Score:2)
- Donald Knuth
That last comment is one of my favourite computer-industry quotations.
Re:Biggest problem with TeX (Score:3, Funny)
It's Teh-Ten, damn it! - Steve Jobs
bad Greek (Score:2)
Re:bad Greek (Score:2)
-Billy
Re:bad Greek (Score:2)
Correct. The Greek letter X, or Chi, is supposed to sound like a hard G as found in Scottish, Dutch or German.
The Greek equivalent of the letter H does not exist. The sound itself does exist as an aspirated vowel, usually denoted with '. That's why the official Greek name for Greece (Hellas) is actually written (transcribed to latin alphabet) Ellas.
Mart (who had to sit through Greek class too)
Re:The technology behind TeX (Score:4, Interesting)
I don't know exactly what you've done, but as someone who's had to do papers in both word and latex, let me respectfully point out that making a word document look the same (or even have the same number of pages) on multiple computers, let alone multiple versions of Word, is something that made me tear my hair out. You want control, you use TeX. Period. You want a lot of control, but ease of use, you use LaTeX. You want total and complete frustration because your paper is a different number of pages depending on the computer, splits text in the dumbest places (leaves orphan headers), and so on ad nauseum, you use Word. You don't get control with Word. Even when you've micromanaged the text. I spent a week doing this, and vowed never to use Word again, and thus to never submit to this conference. (The conference I was submitting to was a bit out of my area, in any case, and is completely out now.)
Lea
Mirror (Score:4, Informative)
Re:Mirror (Score:2)
Mirror here (Score:2, Informative)
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.
The right answer. (Score:3, Funny)
Re:The right answer. (Score:2, Informative)
It is the answer to 'the question of life, the Universe and everything'. Now what that question is exactly... no one knows!
Mirrored here (Score:3, Informative)
Grab a copy from here [buffalo.edu]
Knuth is God (Score:4, Funny)
some humor..... (Score:5, Funny)
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."
Re:some humor..... (Score:2)
Re:some humor..... (Score:2)
Re:some humor..... (Score:2)
The name of god gets a lot done.
(actually, I'd like to point out the extremely high probability that more people have died fighting for their bands, tribes, states, etc. than "in the name of god".)
Re:some humor..... (Score:2, Offtopic)
I agree with the rest of your post. I'm agnostic, myself. But saying that you should believe in God just to be on the safe side, because you'll go to hell if He exists, is a logical fallacy. It's actually quite famous, and has a name, Pascal's Gambit. There are several problems with it, but the core problem is that you are reducing an infinite number of possibilities to an artificial either-or situation. It's not a simple choice between believing in a Christian God or believing in nothing at all: any number of deities could exist.
For example, if the Islamists are right, then Allah might be even angrier at me for believing in a Christian God than believing in nothing at all. Or, to be perverse, how about a deity with a sense of humor that sends atheists to heaven and religious people to hell? From the atheist's point of view, he has no evidence either way, and so, to him, this ironic deity has the same chance of existing as the Christian God. Therefore, it is not in his interest to change his beliefs: he has the same probability of going to hell either way. He may as well stick to what his reason tells him is true. Thus, Pascal's Gambit is a fundamentally unconvincing argument.
Re:some humor..... (Score:2)
If you actually ask a Christian, a Jew, and a Muslim, they will tell you that they all worship the same God. They just disagree on the details.
Re:some humor..... (Score:2)
Dying "in the name of god" that the previous poster refers to are religious conflicts. Think of the Crusades, Inquisition, wars stemming from the Reformation and Counter-Reformation.
Re:some humor..... (Score:2)
And the "literature about the Catholic Church's complicity in the the holocaust" does exist. And it bears the same relation to real history that Holocaust denial literature does, or the claims that Hitler was a vegetarian. Check the accolades that Pope Pius XII got for his efforts to save Jews from the men who went on to found the State of Israel if you don't believe me.
I'm an atheist myself, and I think religion has done more harm than good in the world. But misinformation about Christianity's role in WWII is not the way to make that point.
Re:some humor..... (Score:5, Interesting)
Hitler was in no way a christian, in fact his aryan beliefs were in almost complete contradiction to any christian belief. And the holocaust was based on race, not religion.
Hitler was indeed a christian. He did very evil things, but he was still a christian. Your second point however, is correct, the holocaust was about race, however the eugenicists saw it..
The Christian religion, is one of the primary reasons for the development of Europe to where it is today. Considering the immense influence it has had over the last 1500 years, it it not supprising that bad things came along with the good. The problem is with human nature, compared to any powerful instituion before it, it was a model of civility.
In fact, Christianity was one of the prime factors holding BACK Western European civilization for the 6-800 years following the fall of the roman empire. What need is there to innovate and to improve your lot in life if the messiah's second coming is right around the corner? It was only after Greco-Roman thought was re-introduced via Islam that Western European civilization started its upswing. Even later, the church had to be pulled kicking and screaming through the centuries by science. From Gailileo to Creationism, the church has had a great damping effect on scientific progress. See A History of the Warfare of Science with Theology in Christendom [santafe.edu] for many, many more examples.
I'm not trying to take a dump on your beliefs. If they work for you, great. Have a cookie. But don't try to paint Christianity, or any other religion too rosy. Like most institutions, it has its darker side, and Christianity has a very dark one indeed.
Re:some humor..... (Score:3, Interesting)
It was only after Greco-Roman thought was re-introduced via Islam that Western European civilization started its upswing.
This statement is plain wrong. Christianity is a synthesis of Hebrew and classical Greek philosophy. If Christianity did anything [historyguide.org], it preserved the thought of classical antiquity. Classical authors were widely cited by early Christian thinkers. The idea of theology -- a rational inquiry into the nature of God -- is a Christian invention based on Greek thought.
The Arabs contributed to medieval thought by making Aristotle known in Christian Europe. However, their sources for Aristotle were Christian sources in Constantinope.
The Church has been in conflict with science thoughout its existence but it is probably no accident that the founders of modern science (Copernicus, Kepler, Galileo, Descartes, and Newton) were all believing Christians.
Re:some humor..... (Score:2)
Re:some humor..... (Score:3, Interesting)
Or perhaps you have heard of the Third Punic War, which basically amounted to a campaign of genocide.
This description of the Roman Empire is equivalent to judging Germany solely by Nazi era and ignoring Goethe and Beethoven.
The reason that Roman was able to hold the loyalty of most of the provinces of Italy when Hannibal invaded was because of the fundamental fairness of its rule. Cathages' provinces in North Africa were anxious to revolt when Rome provided an opportunity because of Carthages' brutality.
But they were not the nice people you seem to imagine.
The Roman Empire had its faults but its rule was enlightened by the standards of the time. Within the Empire there was period of peace and prosperity unmatched until modern times.
Re:some humor..... (Score:2)
Man #1: I'm a Scotsman!
Man #2: Do you eat haggis?
Man #1: No, I hate haggis.
Man #2: Then you're not REALLY a Scotsman.
Your statement that Hitler was not really a Christian is the same as the statement that Man #1 is not really a Scotsman. Hitler made it quite clear in his writings that he was a Christian, and that he saw himself as doing god's work.
The Christian religion, is one of the primary reasons for the development of Europe to where it is today.
That's a laughable statement. Development of Europe was held back by an oppressive religious government, and only really started when secularism took hold. Obviously your grasp of history is completely unbased.
Re:some humor..... (Score:2, Insightful)
It *is* funny (Score:3, Insightful)
It *is* funny, though.
Regards,
Anomaly
Re:It *is* funny (Score:2)
Unlikely, yes, but even under Cristianity, somebody has to be God.
Re:It *is* funny (Score:2)
-Paul Komarek
"Thing CS's Rarely Talk About" (Score:2)
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.)
Re:is he a christian? (Score:2)
Re:some humor..... (Score:2)
I know, it's just a joke, but spreading a distortion of the truth, even in humour, is potentially harmful.
Knuth Jokes (Score:5, Funny)
Dr-Fun [ibiblio.org]
Not Entirely a Joke! (Score:2)
If you think you're a really good programmer...read [Knuth's] Art of Computer Programming...You should definitely send me a resume if you can read the whole thing.
- Bill Gates
Knuth is an amazing man (Score:3, Interesting)
Last Thursday, I went to his office, and the first thing he said to me was "You changed your hair color." (It's since grown out). He had little reason to remember me and less opportunity, but he did.
He's written me checks for $5.12 (and I've only read one book by him one time through.)
What do the rest of you think of Knuth?
Re:Knuth is an amazing man (Score:4, Funny)
Last Thursday, I went to his office, and the first thing he said to me was "You changed your hair color." (It's since grown out). He had little reason to remember me and less opportunity, but he did.
I'm sure Knuth is quite smart, but perhaps you might consider that maybe, just maybe, it was the red nose and white face paint that clued him in.
Re:Knuth is an amazing man (Score:2)
You mean other than being the only person he saw the entire tour with BLUE HAIR. Twice.
Re:Knuth is an amazing man (Score:3, Informative)
More Knuth Stories Wanted (Score:5, Interesting)
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.
Sloopy programming? (Score:2)
Re:More Knuth Stories Wanted (Score:2)
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.
Its worse than what you even think. I'm taking a highschool CS course and the instructor doesn't care about gettwing it done faster, just getting it done. In fact he talks about how bad, but easily understood code is better because there is normally a group of people working on the software. The only time we even talked about big O was a 1 week trip into sorting.
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.
For me this isn't true at all, while our code can be horrible, it still must work completely and be logically sound. So thats good at least.
Book of Proofs (Score:2)
Danny.
I don't cash my Knuth checks (Score:4, Funny)
Re:I don't cash my Knuth checks (Score:2)
Re:I don't cash my Knuth checks (Score:5, Funny)
Re:I don't cash my Knuth checks (Score:2)
Please see the following quote, from this page [stanford.edu]:
During the months of September, October, November, and December, I will not be reading any mail about purported errors in my books, because all the master files are at Stanford in a standalone computer that will be turned off. After Y2K I'll get back to the routine of bug-fixing as usual. (Any rewards for bugs reported during my downtime will be increased by adding interest compounded from the time they were received.)
I emailed my first bug on Sept. 22, 1999. The letter from Knuth was postmarked Jan. 10, 2000. Inside the envelope, I found the following note:
24 December 1999
Dear helper,
While I was away from Stanford during the last four months of 1999, my home computer - on which I keep all the master files for my books - was shut off. Thus I had to wait to process all errata until returning home this week.
Thanks for your patience awaiting my reply. I have computed the amount of your reward by adding interest at 5%, compounded continuously from the day of your letter until 1 January 2000.
I'm writing the checks today, but Stanford will be closed next week; so my secretary will not be able to mail this letter until Y2K is with us. With luck, however, the US Postal Service will survive and will deliver your check before your patience wears too thin.
My books owe a great deal to careful readers like you. Therefore I hope you'll continue to let me know whenever you find anything wrong.
Best wishes for the year 2000 and beyond!
Cordially, Don Knuth
Of course, I was spellbound!
Another Font Obsessive - thank Ghod (Score:2)
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
Re:Another Font Obsessive - thank Ghod (Score:2)
Re:Another Font Obsessive - thank Ghod (Score:2)
Re:Another Font Obsessive - thank Ghod (Score:2)
Amazingly enough, the receptionist knew right off the bat. Helvetica.
I don't know if Michigan road signs are different (never been), but in the rest of the US it's not Helvetica that's used. The Federal Highway Administration has its own set of typefaces [aol.com] that aren't really all that similar to Helvetica.
Knock-offs of the most common US highway typeface are available here. [myfonts.com] For me it's a lot more readable and a lot more attractive than Helvetica.
Yes, I'm another font obsessive. When I'm not looking after their network, I'm a designer for a sign company, so I guess it's my job to know these things.
As for Knuth (trying to get back on topic here), he's done an awful lot for both computer science as a whole and for digital typesetting, but what on earth was he on when he designed Computer Modern Roman? Ok, it's instantly recognizable, but it's also butt ugly and not very readable even on paper (too spidery, it would be a lot better if the horizontal stem widths were wider). On a low-res computer screen, it's a typeface disaster.
Re:Another Font Obsessive - thank Ghod (Score:2)
PDF (Score:2)
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.
Re:PDF (Score:2)
Well, presumably it was the AMS who chose to put it in PDF, not Knuth himself. Although yeah, it does seem kinda silly that they made that choice. Especially given their interest in TeX [ams.org] (I use the amsmath LaTeX package all the time).
Re:PDF (Score:2, Insightful)
What planet you living on, sonny? Paper use has never been so high. Paper will be around long after all the erstwhile electronic "substitutes" are gone and forgotten.
Reverse knuth (Score:2)
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!
Why it's called "All Questions Answered" (Score:3, Informative)
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.
Re:Why it's called "All Questions Answered" (Score:2)
You're right on this note. IIRC, he talked about supporting a local strip bar that was going to be shut down or something. He didn't seem to care what people might think of him supporting such an establishment.
Re:Why it's called "All Questions Answered" (Score:2)
Feynman seemed like my type of guy. Some people just need to be poked a bit when they're too serious about "The One Truth", whatever they feel it is.
Quality, Workmanship, Pride... (Score:5, Insightful)
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
Re: (Score:2)
Re:Quality, Workmanship, Pride... (Score:2)
True, but when engineering failures occur they are usually absolutely catastrophic, whereas computer failures are mostly limited to blue-screening. How much effort is it worth to prevent occasional annoying failures that most people are willing to put up with? Life-critical applications like flight control and medical device control, which must work correctly, are just as robust as bridges and high-rise buildings.
I'm not trying to justify shoddy programming, but keep it in perspective. Software quality is a continuum. If everyone tried to write bug-free programs, then nothing would ever be released!
Re:Quality, Workmanship, Pride... (Score:2)
"... But once the first house was built the whole world would have free housing."
TeX and recent GNU/Linux distros (Score:2, Insightful)
As a mathematician, I am forever grateful for Knuth and Lamport. They are the Gutenburgs of our time.
If I was there (Score:2, Funny)
Knuth's students (Score:3, Interesting)
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.
Re:Knuth's students (Score:2)
said "[I] like emacs hacking".
I am a proud vi'er, and there is no way I am having a guy
with evilmacs for an idol.
Euclid used a rock and sticks implementation of vi, I think I will
go with him.
Besides, greeks are much cooler than california surf dudes.
acrobat works fine in linux (Score:3, Informative)
Here's another mirror
http://www.cs.columbia.edu/~spotter/fea-k
Mod parent up! (Score:2)
Online PDF Conversion Here -- (Score:5, Informative)
http://access.adobe.com/adv_form.html
just enter the url of said pdf and hit submit and voila good ol' html is returned
Re:I don't have acrobat. (Score:3, Insightful)
Old Windows 2000 Joke. (Score:2)
There goes Gates's fortune. Talk about get rich quick schemes! (Unless it's in those monkey dollars, although I already find bugs whenever i punch/shock/click/tickle/jab the monkey)
This reminds me of the old joke when Windows 2000 came out:
The truth isn't that it had about 65,000 bugs: They just had to stop counting at 65,535 to prevent an error.
Re:I just ordered TAOCP... (Score:2)
Re:I just ordered TAOCP... (Score:2)
However, it's still as much about drivers as it ever was. With reasonable confidence, i can say that no amount of electronics will make you as good a driver as schumacher or montoya. After all, we're talking about drivers that can out-brake ABS, out perform traction control, etc etc. Electronic aids only go so far. And the cars dont steer themselves (yet).
That the cars happen to shift gears faster than a human ever could is a nice touch. Friday i rode in a car (BMW E46 M3) which had an electronic clutch system and the shifts were breathtaking.
Re:Software errors (Score:2, Interesting)
What about the Slackware installation that kept bombing out? Who do I bill? Shit, I fucked with that thing for a day!
Re:And who do I bill for open source? (Score:2)
The same people you sent a check to when you bought that software?
Re:Knuth Does Not Read E-Mail (Score:2, Insightful)
Did you even read the link you posted?
He explains in perfectly understandable English exactly why he doesn't use email (note the lack of hyphen, which is also explained in the document you linked) - aside from the very occasional post to someone via his secretary. Try reading that document a few times, maybe you'll get it.
Communication via email may be appropriate for you. It's certainly appropriate for me, and probably for the vast majority of people who read and post to slashdot. But Knuth has made the decision that it's not appropriate for him anymore - note that the guy did use email for 15 years, from 1975 to 1990 - so he is perfectly aware of what he's missing out on (not much) and what he's gaining (a hell of a lot of extremely valuable time) by choosing to not use email.
Perhaps you should reconsider the way your system of respect works.
Pete.
PS. I have no idea what made you think that he's proud of not using email.