8 ms·
Interview Transcript – Donald Knuth [pdf]
- MartianSquirrel 6y agoI started reading the title and almost had a heart attack thinking Donald Knuth died Edit: Title was "Professor Donald Knuth on Writing and More, an Int..."
- philipkiely 6y agoLining up this interview was a process that spanned the latter half of 2020. Professor Knuth has not maintained a public email inbox since 1990, so I typeset a letter in LaTeX, printed it out, figured out where to put a stamp on an envelope, and sent it to Professor Knuth's office. Some months later, I received an email from his assistant, saying that he would be interested in doing an interview, but wouldn't be available until December. Well, a couple of weeks ago I found myself on the phone clutching a list of questions that I prepared in consultation with a friend of mine pursing a Ph.D. in computer science at the University of Chicago, and thus could understand not just the pictures in The Art of Computer Programming, but also most of the words (where my abilities begin to falter).
- svat 6y agoThanks a lot for conducting this interview, transcribing it, and sharing it! It's lovely, and covers a lot of interesting/new ground; your questions are well-chosen. I've read/heard/watched a lot of Knuth interviews the last few years (there's a list of some of them at https://cs.stanford.edu/~knuth/news20.html#:~:text=Oral%20histories https://cs.stanford.edu/~knuth/news20.html#:~:text=Oral%20hi... and at https://tug.org/interviews/#knuth https://tug.org/interviews/#knuth), and he tends to be remarkably consistent in his answers, but you've managed to ask interesting questions that elicit new answers. :-) And of course even the repeated stuff is still interesting. Yes reaching him can be hard, as joked about by Wilf on his 64th birthday (https://www2.math.upenn.edu/~wilf/website/dek.pdf https://www2.math.upenn.edu/~wilf/website/dek.pdf). :-) If I understand correctly, this interview was conducted over the phone? If so, I also imagine that transcribing it must have been quite a bit of effort; his speech tends to have a fair bit of "backtracking" / "buffering" as I've found when I tried to transcribe something a while ago. So thanks for producing something so readable. Some notable (to me) highlights, for anyone else who has not yet read the linked interview: - The story of how The Art of Computer Programming came about. He was approached by the publisher in 1962 when he was a recently married second-year graduate student, to write a book about how to write compilers. He thought it needs more background and came up with a 12-chapter outline with Compilers as the final chapter, and thought it would be done before his son was born (1965), as of 2020 it's less than half done. :-) He actually had a handwritten manuscript of 3000 pages completed in early 1966 and thought that when printed it would be about 400 printed pages, but he was off and it would have been 2000 pages if printed. So the plan became 7 volumes. (He goes into more detail in his 2007 CHM Oral History for example: https://archive.computerhistory.org/resources/access/text/2013/05/102658053-05-01-acc.pdf#page=14&zoom=200,0,500 https://archive.computerhistory.org/resources/access/text/20...) - How he tries to make precise statements ("maximize my chance of error"), and writes programs to see for himself which methods are faster ("I can't write about something unless I've experienced it personally"). And how he does this while staying "smooth", adding technical jokes, and trying to be surprising! His motivation is always to share: "Isn't this cool?" - On staying motivated: his simple motivation is that he enjoys learning and enjoys telling others what he's learned. His main computer is also not connected to the internet; he goes to the internet-connected computer only to upload stuff. - He actually doesn't seem to worry at all about impact or importance; he just writes stuff that he needs or feels ought to exist. (I think his taste helps here!) He's unbothered by what others might consider failures of adoption (Metafont, literate programming, his composition Fantasia Apocalyptica?). - His usual thoughts on literate programming, e.g. "by taking a little bit of extra time to explain what the code is doing, I get my thoughts in order and I make many fewer mistakes". (Aside: He mentions the PBRT book (http://www.pbr-book.org/ http://www.pbr-book.org/) and thinks there is other software being written at Pixar/elsewhere using literate programming; does anyone know if this is actually true? Or is this program/book an exception?) - He mentions some problem in constraint satisfaction (the section of TAOCP he's currently working on) on pp 14–15, maybe someone can guess details of what this specific problem is? - One finding ways to enjoy what you're doing. (He's mentioned here, and elsewhere too, how he's never bored; how one can always find some way to enjoy things. Recall the example of buying janitor uniforms to make toilet-cleaning at home more fun! From an earlier article, discussed here: https://news.ycombinator.com/item?id=22889195 https://news.ycombinator.com/item?id=22889195) He's not bothered by commercialization/things being spoiled for example; he just focuses on what's beautiful and one can be proud of. (A few typos I noticed in the current version of the PDF: "Apocalypitca" (p1), "wonderfull" (p9), and in a few places, words are joined it appears that (probably) "—I" (an em dash followed by the word "I") turned into just "I": "I was blown awayI" (p3), "core memoryI" (p4), "practiceI" (p4). And the phrase "from two different slaps" (p6) sounds odd; sure he didn't say something else? Then again, maybe that's exactly what he said, things being slapped into one's brain.) Good luck with your book too!
- philipkiely 6y agoAsking questions that elicit new answers is the #1 thing I focus on in an interview, so I'm glad to have accomplished it here. I think that if you're doing an interview and don't cover new ground, it just wastes everyone's time. Asking new questions, just like transcribing, just requires focused effort! I think interviewing is a really cool skill because anyone can get good at it just with practice!
- gumby 6y ago> He's unbothered by what others might consider failures of adoption ...his composition Fantasia Apocalyptica... He somehow figured out I liked Bach and so a couple of years ago played me some of it (a recording) then we went over the score. He is a much better organ player than I could ever hope to be! Naturally the score was designed to reflect the book of revelation, so you could see elements of music that keyed off that text but it's sort of conventional and unconventional at the same time. It was fun to read as the music is sort of witty, but I don't think I'd enjoy listening to the whole thing. I've only known two people who had organs at home, Alan Kay and Don Knuth. Steve Jobs bought a house in Woodside that had an organ in it, but I heard he removed it. I never heard that he played music himself.
- svat 6y agoHa! On that composition: I have no ear for Western classical music, and familiarity with neither the organ as a musical instrument nor the Bible's Book of Revelation, but even so, I can guess this project is… unique. He calls it (https://cs.stanford.edu/~knuth/fant.html https://cs.stanford.edu/~knuth/fant.html) a "somewhat literal translation" of the book into music. So for example he goes over each verse of the book, and (almost) each time it mentions "angel" he plays an 8-note arpeggio, every time it mentions "blood" he has "coagulated" (clustered) notes, and so on, setting up "dictionary" of 100+ motifs (https://cs.stanford.edu/~knuth/motif-dict-utf8.html https://cs.stanford.edu/~knuth/motif-dict-utf8.html). He explains it in these videos (https://www.youtube.com/watch?v=-JvdanSygfg https://www.youtube.com/watch?v=-JvdanSygfg, https://www.youtube.com/watch?v=f1R9eY-8jL4 https://www.youtube.com/watch?v=f1R9eY-8jL4, https://www.youtube.com/watch?v=e_1a6bHGQGo https://www.youtube.com/watch?v=e_1a6bHGQGo). Looking through his list of musical allusions (https://cs.stanford.edu/~knuth/rev-cite https://cs.stanford.edu/~knuth/rev-cite) I see things like Bruce Springsteen, even a washing machine's power on/off cycle sound. He mentions a couple of pieces of rap music for verse Revelation 3:20; maybe the reason is the same joke as https://xkcd.com/133/ https://xkcd.com/133/? Overall, the project seems so crazy (is this the way anyone writes music?) that one can't help being impressed. The full performance is here: https://www.youtube.com/watch?v=MjxsZa3Ylao https://www.youtube.com/watch?v=MjxsZa3Ylao — haven't listened to it, but online I've seen both some extremely negative and some extremely positive comments. :-) I have heard that he is a skilled organ player as you said; just earlier while searching for something else I saw a blog post about Rajeev Motwani's memorial (http://blog.geomblog.org/2009/09/rajeev-motwani-memorial.html http://blog.geomblog.org/2009/09/rajeev-motwani-memorial.htm...) which mentions “Don Knuth was the organist for the entire ceremony, and played pieces you didn't think could be played on a church organ”.
- deleted 6y ago[deleted]
- swyx 6y agothat is an amazing story. once again you're showing how to hustle well beyond what most people think their limits are. well done.
- dang 6y agoWe merged some comments from https://news.ycombinator.com/item?id=25582712 https://news.ycombinator.com/item?id=25582712 into this thread, so if you notice weird timestamp mismatches, that's why. Other than that they're in the right place :)
- philipkiely 6y agoThanks! I suppose you must have some sort of automation that notifies you when the same comment is posted twice, or at least posted twice on submissions of the same name & url? I submitted earlier without a ton of success, so when I saw it on the front page this evening I went and copied in my previous comment. Wondering what the method is for identifying that, unless it is too secret to share...
- dang 6y agoNothing so fancy. We got an email asking us to merge the threads.
- drfuchs 6y ago"Volume 2 of The Art of Computer Programming was the first big test case [of TeX and Metafont]. I was looking forward so much to the day when I got my first copy and I could open it up and I could see, “Oh, yes, my project has succeeded.” But it was maybe the worst day of my life because it looked awful to me...." As the guy who ran the Alphatype CRS phototypesetter to generate the final camera-ready copy for ACP Volume 2, 2nd edition, let me add a little color to this. Pages were (slowly) generated on large sheets of special photographic paper (maybe 2ft by 3ft), at real size (so six pages per sheet) at an effective resolution of 5000dpi. The results, after being run through a normal 3-bath b&w developer and dried out, were then shipped off to the publisher. There they were photographed and processed into metal printing plates for the offset printing press, which actually applies ink to paper, creating the pages that are bound into books. The point being that each of those subsequent steps (photography, making metal plates, applying ink, pressing into paper, plus the specs of the particular ink and paper being used) acts as a filter on the image. So, the book you get back doesn't look exactly like the camera-ready copy you provided; not only might the type look lighter or darker, but there may be other effects like "fill-in" of little crevices like the inner wedge of a "v" or where serifs are attached. Old-time punch cutters knew how to anticipate this sort of thing, but it takes experience. Of course, Knuth knew of such things, and got lots of expert assistance, but still it wasn't right on the first time through that final step that we didn't control.
- svat 6y agoWow, thanks for that story and those details! Always exciting to hear about those times. Knuth also mentions this "worst day of my life" incident (without much detail) in his Kyoto Prize lecture[1] and Web of Stories interview[2], and (with slight details similar to what you said) in his 2007 CHM Oral History.[3] Only loosely related: just a few days ago there was a historical article posted online[4] about the Digital Typography group at Stanford in the 1980s, where much of the collaboration happened that led to the final versions of those fonts. [1] https://web.archive.org/web/20190523200235/https://www.kyotoprize.org/wp/wp-content/uploads/2016/02/12kA_lct_EN.pdf https://web.archive.org/web/20190523200235/https://www.kyoto... or https://web.archive.org/web/20201111041445/https://www.kyotoprize.org/wp-content/uploads/2019/07/1996_A.pdf https://web.archive.org/web/20201111041445/https://www.kyoto... — search for “burned with disappointment” [2] https://www.youtube.com/watch?v=b5wb9TEHkCI&list=PLVV0r6CmEsFzeNLngr1JqyQki3wdoGrCn&index=65 https://www.youtube.com/watch?v=b5wb9TEHkCI&list=PLVV0r6CmEs... [3] Pages 44–46, especially 46 at https://archive.computerhistory.org/resources/access/text/2013/05/102658053-05-01-acc.pdf#page=44&view=FitH,700 https://archive.computerhistory.org/resources/access/text/20... transcribing roughly 1:17:00 to 1:26:00 of https://www.youtube.com/watch?v=gqPPll3uDa0 https://www.youtube.com/watch?v=gqPPll3uDa0 [4] https://doi.org/10.1016/j.sheji.2020.08.006 https://doi.org/10.1016/j.sheji.2020.08.006 (I actually suspect that the author, from the Design program at the time, may have missed/misunderstood some details, but I'm not confident enough to say what exactly, if anything, is wrong.)
- theaussiestew 6y agoThis is such an insightful interview. I love reading interviews like this because they always give away a bit of the secret sauce that enables people like Knuth to be so creative, and passionate about their fields. I thought this quote was especially awesome, because you get to understand that what one sees on the surface, is not the whole picture, especially for someone like Knuth. "I think that what I’m most guilty of is that I say something but I say it in such a smooth way that people don’t realize that I’m being precise. They think I’m being informal when I’m really meaning every syllable."
- necovek 6y agoWell, I was like that until I realised that nobody else is. I still haven't figured out the sweet spot, so I am now too repetitive and too verbose.
- hoten 6y agoHaving never heard of literate programming, I started poking around. "Physically Based Rendering"'s intro to literate programming can be found here: http://www.pbr-book.org/3ed-2018/contents.html http://www.pbr-book.org/3ed-2018/contents.html (chapter 1.1) And then answering my own first question about this: how is this different from copious comments? (Source: Wikipedia) > Literate programming is very often misunderstood[12] to refer only to formatted documentation produced from a common file with both source code and comments – which is properly called documentation generation – or to voluminous commentaries included with code. This is the converse of literate programming: well-documented code or documentation extracted from code follows the structure of the code, with documentation embedded in the code; while in literate programming, code is embedded in documentation, with the code following the structure of the documentation. > This misconception has led to claims that comment-extraction tools, such as the Perl Plain Old Documentation or Java Javadoc systems, are "literate programming tools". However, because these tools do not implement the "web of abstract concepts" hiding behind the system of natural-language macros, or provide an ability to change the order of the source code from a machine-imposed sequence to one convenient to the human mind, they cannot properly be called literate programming tools in the sense intended by Knuth.[12][13] I was then curious if any tooling has been created for literate programming in TypeScript. I haven't given a close look yet, but here are some relevant links: - https://github.com/microsoft/TypeScript/issues/31364 https://github.com/microsoft/TypeScript/issues/31364 - https://johtela.github.io/litscript/ https://johtela.github.io/litscript/ - https://mistlog.github.io/ray-tracing/index.html https://mistlog.github.io/ray-tracing/index.html
- AndrewOMartin 6y agoI've done a few projects using literate programming, a couple of which were fairly large for a single developer. If you use noweb, it doesn't care about the language you use. You can even have a section in the document which contains chunks of code in different languages and how they interact. For example, one chunk could be a part of the render function of a React component, the next chunk could be the Flask API endpoint which generates the data displayed by the component. Literate programming has its problems, and it is made less necessary with modern languages and tools, but I've repeatedly had the experience where it was LP that allowed me to return to a project after a few months and know exactly what was going on and where to continue.
- vok 6y ago"SAT solvers became a billion-dollar industry" Does anyone have a reference for this?
- yaantc 6y agoSAT is a key technology in electronic design automation (EDA), the industry making the tools allowing designing chips. From [1]: "Within EDA, SAT solvers are used for such disparate tasks as test pattern generation, circuit delay computation, logic optimization, combinational equivalence checking, bounded model checking and functional test vector generation." Improvement in SAT solving allows designing more and more complex chips. In software it's used for formal checking, through SMT (Satisfiability Modulo Theory [2]). SMT is an extension of SAT. For an example application, Microsoft is using their z3 SMT solver [3], now open source, for the automated Windows driver verification process. [1] https://semiengineering.com/knowledge_centers/eda-design/verification/sat-solver/ https://semiengineering.com/knowledge_centers/eda-design/ver... [2] https://en.wikipedia.org/wiki/Satisfiability_modulo_theories https://en.wikipedia.org/wiki/Satisfiability_modulo_theories [3] https://en.wikipedia.org/wiki/Z3_Theorem_Prover https://en.wikipedia.org/wiki/Z3_Theorem_Prover
- mhh__ 6y agoFDIV cost Intel hundreds of millions, formal verification is big money.
- tomerbd 6y ago"My mother had a scheduling algorithm: look for something that you can to do and do it. Instead of planning, she just said look for something that needs to be done and do it. It worked for her for ninety years."
- supernova87a 6y agoFor an interview with someone who cared so much about formatting and elegance, that PDF is kind of ugly I just have to say. How about just keeping everything at the same font size, putting the questions in italic, and indenting his responses in blocks? Even better, LateX?
- zzless 6y agoIndeed, I was going to say exactly this but I am glad I found your comment instead. The first question in the interview is about the reason good typesetting was important to Knuth and the .pdf sort of answers it. It is an excellent read but a bit painful to look at. Proper typesetting of TeX and LaTeX would go a long way to alleviate that, not to mention jagged vertical spacing in the titles and elsewhere.
- abhinav22 6y agoDr Knuth contribution to academic typesetting is such a significant accomplishment as it aided the sharing and discourse of information among universities over the last 4 years
- finikytou 6y agounrelated but no xmas lecture this year?