[HN Gopher] Donald Knuth - The Patron Saint of Yak Shaves (2017)
___________________________________________________________________
Donald Knuth - The Patron Saint of Yak Shaves (2017)
Author : rdpintqogeogsaa
Score : 355 points
Date : 2022-01-09 09:09 UTC (13 hours ago)
(HTM) web link (yakshav.es)
(TXT) w3m dump (yakshav.es)
| rcarmo wrote:
| "It's just that the yak happened to stand close."
|
| I'm still giggling at this one. Amazing write-up.
| lstamour wrote:
| Still a fun read. Previous HN comments (from a submission a few
| years back): https://news.ycombinator.com/item?id=15733381
| civilized wrote:
| There's a certain kind of computer science paper from the 90s,
| very frequently encountered if you're familiar with the research.
| The typesetting is incredibly ugly, and they're all ugly in the
| same characteristic way. See for example [1] (just the first one
| I found, some are quite a bit worse). I want to know the story
| behind this.
|
| In the case of my example, note that when you load this paper in
| a browser, the tab will say "main.dvi". So I'm guessing the paper
| was typeset in LaTeX, published as DVI, and when PDF came along
| they converted it, but the DVI -> PDF conversion algorithm was
| really bad.
|
| [1]
| https://courses.cs.duke.edu/spring02/cps296.1/papers/H-SIGMO...
| mwcampbell wrote:
| There are also some old papers, converted to PDF by way of
| dvips and Ghostscript, that are completely unreadable with a
| screen reader unless you OCR them, because the text in the PDF
| is somehow not using Unicode or even ASCII. You'll see the same
| problem if you run pdftotext or similar on the document. My
| usual example is this:
|
| https://legacy.cs.indiana.edu/~dfried/mex.pdf
|
| (I only know about this paper because someone linked to it on
| HN several years ago.)
|
| I'd be interested to know more about how the conversion to PDF
| ended up like this.
| knuthsat wrote:
| This is computer modern optimized for printing. It's not bad,
| the pixels are constructing the glyphs in a way that makes them
| good for printing.
|
| Bitmap version of the font, I guess.
| gkbfj wrote:
| DVI files do not contain fonts. What happened here is that
| the DVI to PDF conversion targeted a low resolution bitmap
| output (for screen/download, not for printing). The vector
| font specified by the DVI file was rasterized at that point.
| Later, PDF compatible (PostScript) vector versions of the
| Computer Modern fonts became available.
|
| https://wearables.cc.gatech.edu/resources/latex2pdf.html
| PaulDavisThe1st wrote:
| Granted, there is a substantial degree to which font design has a
| strong subjective element (even though there are some non-
| subjective metrics that must be met too). However, the font that
| emerged in "Yak shave #4", Computer Modern, manages (for me) to
| pull off a somewhat exceptional double feat. On the one hand, it
| is to my eyes one of the ugliest fonts designed during the 20th
| century; on the other, my experience of it as a reader (hence
| again, my eyes) is that it is one of the easiest to read fonts
| ever created. I assume that DK found CM to be both beautiful and
| readable, which is fine, but I think it's even more remarkable
| that he could have created a font that someone with a modicum of
| interest in font design and typesetting could find both ugly and
| very readable.
| amelius wrote:
| > it is to my eyes one of the ugliest fonts designed during the
| 20th century
|
| Makes me wonder what you think of Comic Sans ...
| b215826 wrote:
| > On the one hand, it is to my eyes one of the ugliest fonts
| designed during the 20th century; on the other, my experience
| of it as a reader (hence again, my eyes) is that it is one of
| the easiest to read fonts ever created.
|
| For me it's the exact opposite. I find the font to be
| beautifully designed and perfect for mathematical typesetting
| (e.g., it properly distinguishes n and v for instance).
| However, it's terrible for on-screen reading and printing using
| laser printers because of how spindly the glyphs are. Indeed,
| Knuth designed CMR for the printers of the 1980s [1].
|
| The most carefully designed math fonts IMHO are the MathTime
| fonts [2] designed by Michael Spivak to use in conjunction with
| Times. It isn't a free font however. (For a sample see this
| paper [3] published in the _Annals of Mathematics_.) MathTime
| is also a perfect example of yak shaving. Spivak was
| dissatisfied with most available fonts when he set out to
| update his book on calculus so he basically learned type design
| from the scratch [4]. I also really like the Fourier fonts
| (meant to be used with Adobe 's Utopia) designed by Michel
| Bovani and I recently came across a book on statistical
| mechanics [5] that uses them, which I thought was typeset
| beautifully.
|
| [1]: https://tex.stackexchange.com/a/361722
|
| [2]: https://pctex.com/mtpro2.html
|
| [3]: https://annals.math.princeton.edu/wp-
| content/uploads/annals-...
|
| [4]: https://tug.org/pracjourn/2006-1/spivak/spivak.pdf
|
| [5]:
| http://www.unige.ch/math/folks/velenik/smbook/Statistical_Me...
| taeric wrote:
| I'm intrigued. Typically ugly things are jarring and slow down
| interaction. Can you elaborate on what makes it easy to read?
| nextos wrote:
| If you go through old Springer Undergraduate or Graduate
| Texts in Mathematics (typeset in TeX and Computer Modern)
| you'll notice they are really pleasant on the eyes. The
| amount of information density is just right. There's no noise
| and it's very easy to distinguish where sections start and
| end.
|
| If you look into any great pre-TeX book like Rudin [1], it
| looks much uglier and more difficult to read. I'd actually
| pay a significant amount of money for new editions of Rudin
| or Halmos typeset in TeX and Computer Modern. They'd be much
| easier to go through.
|
| I must also add Latin Modern is a slight update to Computer
| Modern that is slightly thicker and looks much better on
| screens.
|
| [1] https://web.math.ucsb.edu/~agboola/teaching/2021/winter/1
| 22A...
| taeric wrote:
| Right. My question was more surprise that easy to read does
| not translate to beautiful in this case. Seems an odd
| juxtaposition.
|
| Caveat, I like computer modern.
| PaulDavisThe1st wrote:
| I really don't know. I just find that the cognitive
| experience of reading papers or even books set in CM is
| always very easy for me, certainly compared to some other
| common fonts. However, my first glance at the page(s) always
| leads to "Oh, ugh, not CM again" and my eye notices the
| serifs, the rather blocky aspect ratio, the weirdly varying
| line weights ... and then I read it and my eyes/brain love
| it.
| taeric wrote:
| Fair. I suspect there may be some reminder of over zealous
| advocates when you first see it? Such that knowing the font
| is enough to remember a lot of the nonsense around it. Even
| if it is somewhat objectively good?
|
| That is, is this a blending of bad subjective experience
| with otherwise good objective experiences?
| kragen wrote:
| Do you mean cmr, cmi, cmtt, ...?
| adrian_b wrote:
| While I would certainly not consider Computer Modern as a
| beautiful typeface, it is likely that your perception of it is
| biased due to looking at it on computer displays.
|
| Knuth has chosen Computer Modern to be a so-called "Modern"
| typeface, which is a name applied to a certain style of
| typefaces that became popular at the beginning of the 19th
| century and which was frequently used for mathematics books of
| that time.
|
| Of all styles of typefaces, the "Modern" typefaces are the
| least appropriate for computer displays, because no desktop
| computer display has a resolution high enough to render such
| typefaces.
|
| On computer displays, Computer Modern and all typefaces of this
| kind (with excessive contrast between thick and thin lines) are
| strongly distorted to fit the display pixels, so they become
| much uglier than when rendered correctly on a high-resolution
| printer (i.e. at 1200 dpi or more).
|
| Therefore you cannot compare Computer Modern with more recent
| typefaces that have been designed to look nice on computer
| displays or with old typefaces from other families, which were
| suitable for low-resolution printing.
|
| Computer Modern was strictly intended for very high resolution
| printing on paper and not for viewing documents on computers.
| PaulDavisThe1st wrote:
| > it is likely that your perception of it is biased due to
| looking at it on computer displays.
|
| I typeset 2 books with TeX and read far more printed pages
| typeset with TeX than I ever read online.
| kamranjon wrote:
| I follow the folks over at 100 rabbits (https://100r.co) and I
| think they've sort of developed yak shaving into a lifestyle.
|
| I don't want to go too far into it cause the website is a
| treasure trove and exciting to explore on your own but if you
| follow some of their latest stuff, they've built a stack based
| virtual machine, and a whole set of software around it and it
| truly feels like they are just exploring every avenue that
| interests them without rushing themselves. Truly the embodiment
| of my grow a beard and learn Haskell dreams.
| graycat wrote:
| > TeX is also not a programming language.
|
| I wrote some macros in TeX, over 100 of them, and in them used
| programming language constructs including if-then-else, do-while,
| dynamically allocated typed variables, and file reading and
| writing. Sounds like a "programming language" to me.
|
| Sorry, TeX was not written primarily for programmers or computer
| scientists. Instead the target audience was people who use a lot
| of mathematical notation. In my opinion, the main glory of TeX is
| how it helps position the mathematical symbols in mathematical
| expressions, including some really complicated ones.
|
| I know a guy, a good mathematician, who had a really tough time
| understanding the purpose of TeX. He kept evaluating TeX in terms
| of what it did for the future of _word processing_ taken very
| generally, maybe all the way to video as in some Hollywood
| movies. E.g., TeX is not promising for generating video of a
| Darth Vader light saber battle. Then he noticed that TeX is not
| really that future. I finally explained to him that TeX was not
| trying to be the future of some generalized word processing,
| thus, was not _looking ahead_ , and instead was _looking back_
| and at something he knew well -- the literature of advanced math
| as in math journals such as published by the AMS (American
| Mathematical Society or some such). So, TeX was to ease the word
| processing needed for pages of mathematics as in the math
| journals and textbooks.
|
| That friend kept asking me to write a converter that would
| convert a file of TeX to a file of HTML. I kept telling him that
| such a converter was impossible because TeX was a programming
| language and HTML was not. I did explain that at least in
| principle could write a converter to convert TeX output, that is,
| a DVI (device independent) file to HTML. There are converters,
| heavily used, to convert DVI to PDF (portable document format or
| some such).
|
| I like TeX; it is one of my favorite things, and I use it for all
| my higher quality word processing, the core, original math for my
| startup, business cards, even business letters. My last published
| paper (in some mathematical statistics) was in TeX, and using TeX
| was liberating because I could just go ahead and do the math and
| not worry about how I was going to get the word processing done,
| did not have to bend the math and reduce the content to make the
| word processing easier.
|
| Future of TeX? The fraction of the population that wants to
| typeset complicated math expressions seems to be tiny, and there
| are lots of alternatives for others. So, my guess is that TeX
| will be like, say, a violin -- won't change much in hundreds of
| years.
|
| The OP mentioned LaTeX: For people new to TeX, no, you don't have
| to learn LaTeX. The approach of LaTeX is different. In an
| analogy, LaTeX wants you to state if you are building a bicycle,
| motorcycle, car, truck, boat, or airplane, and then lots of lower
| level details are handled for you. With TeX, never decide what
| vehicle type are building and, instead, work with the parts and
| pieces -- yes, with a lot of help.
|
| There is Knuth's book on TeX, _The TeXbook_ , and also the books
| on LaTeX. In comparison, Knuth's book is a lot shorter than the
| books on LaTeX. So, I got the books on LaTeX, looked at them, and
| decided that it was easier just to stay with TeX and the macros I
| could write for TeX. So, for people new to TeX, don't really have
| to get and read the books on LaTeX.
|
| Getting math typeset was a big problem. TeX is a good solution.
| Problem solved. We can move on!
|
| The collection of TeX macros I wrote has over 100 macros
| shakna wrote:
| I regularly use TeXInfo, which is primarily a single macro file
| [0], which starts out as TeX, and has been completely changed
| into the new language by the end of the file (A new lang
| capable of conditionally embedding TeX, HTML, etc.)
|
| Being able to seamlessly transform the language on such a
| fundamental level is one of the reasons I don't think we'll
| ever see a next major TeX - all it would need to be is a macro
| atop of TeX. And then everyone has their own feelings, so it'd
| probably stay as is.
|
| [0] https://mirrors.kernel.org/gnu/texinfo/texinfo.tex
| xwdv wrote:
| Some Buddhists who are vegetarian will justify eating Yaks
| because one yak can provide food for many people and only
| requires one life to be lost, as opposed to chickens or fish. The
| same can be true for computer science.
| lifeisstillgood wrote:
| Can you get good eating off a computer scientist?
|
| I have seen of the scrawnier ones in labs, they probably would
| only feed one or two people so I am not sure the utilitarian
| approach is a winner ? Maybe if we fed them a diet of Mountain
| Dew and Pizza it might improve the flavours?
| bloopernova wrote:
| It's largely due to the relatively low effort required to
| hunt and catch one. Less energy spent means it's economical
| to hunt the scrawny ones.
|
| You _could_ spend a couple of days chasing down the larger
| specimens, but they tend to put up more of a struggle, and in
| the time spent, you could have a dozen scrawny engineers
| already in your larder or stew.
| lifeisstillgood wrote:
| This is of course similar to how early human hunters
| operated - simply chasing down the prey till they fell
| exhausted. For the average post-doc CS student this will be
| three to four blocks so the energy trade off is in your
| favour. However the available calories drops significantly
| with cryptographers and even though you can drop one after
| just one block the energy trade off is even.
|
| Fascinating discussion :-)
| hereforphone wrote:
| Donald Knuth is a Christian and is known for shaving yaks.
| Don't know if he likes eating them too.
| mathattack wrote:
| From his point of view, this certainly seems like a continuation
| of a life passion. Wouldn't we all just love to follow our
| curiosity? Highlights a life well lived.
|
| I'm curious on if this helped or hindered AoCP? Did it improve
| the work because the great theorist is also practicing on the
| side? Or did it slow down creation of AoCP? If the answer is
| "both", which effect is stronger?
|
| This is written with all due respect to this great polymath.
| yannis wrote:
| It is an entertaining article, but I am not too sure if I agree
| that Knuth was yak shaving. However by luck, inspiration,
| conviction or observation he understood what makes a program
| last. You focus on one thing and you do it well. On the way you
| resolve all the problems. He famously said that at first he had
| one user: himself but then things were different when he had 1000
| users. At that stage you need to remove bugs and hence his famous
| checks rewarding people that reported bugs. When your user base
| grows allow them to extend the program through their own code. I
| also think that the program adapted well, throughout the four
| decades of its usage due to the well thought level of
| abstraction. Nearing my three score and ten years, and using
| TeX/LaTeX for all these decades, I can with confidence state,
| that the only people yak shaving was us all the early adopters,
| learning typography rather than focusing on our studies. The same
| can of course be said for current users.
| jacquesm wrote:
| And in passing inventing the bug bounty, which in itself must
| be a major contribution to the computing industry.
| yannis wrote:
| Also probably "backward compatibility." Math books have a
| long shelf-life!
| jacquesm wrote:
| This is very true, compared to IT mathematics is a slow
| moving and very rigorous field.
| jyounker wrote:
| I'm not sure that it's slow moving. It's just that it
| generally grows on the edges, and unless you're out near
| the edges, you've no idea how quickly the edges are
| growing.
| jacquesm wrote:
| Fair enough, my view of mathematics is very much the lay
| persons field, seeing the mainstream mathematics as
| mostly unchanged for the last decade or two, but for
| someone doing mathematics professionally in a research
| capacity I would expect them to see nothing but green
| fields and novel approaches. And as the field grows
| (assuming a two dimensional, spherical math field here
| for the moment) so do the edges.
| vanderZwan wrote:
| > _You focus on one thing and you do it well._
|
| I understand what you mean with this in context, and it's true,
| but it's still somewhat funny to talk about Donald Knuth and
| "focusing on _one_ thing ". It's more like he focused on
| _everything_ in programming, and somehow does it well.
| lifeisstillgood wrote:
| As someone only on their two score and ten, (and many bald yaks
| behind me) do you have advice for keeping on writing code as
| opposed to the horrors of management ?
| jacquesm wrote:
| Stay out of the hierarchy and start consulting, specifically
| troubleshooting. The rates are higher because the clients
| need to get stuff done and a lot of red tape will be cut for
| you by people in a position to make decisions. Also: your
| customers will be genuinely happy. Then: leave. Don't hang
| around because you'll become part of the problem, no matter
| how much they offer.
|
| Increase your price by 25% every year or so, until you start
| losing customers, and ask your previous customers if you can
| use them as a reference.
| lifeisstillgood wrote:
| I like it :-)
| jacquesm wrote:
| I'll take 10% ;)
|
| It's a good gig because it actually requires something
| that is somewhat rare: lots of experience, so it's a
| natural match for the older hands-on tech people.
| IThoughtYouGNU wrote:
| Sometimes being a pioneer means you have to shave a few yaks
| thruflo wrote:
| Yak driven development (YDD).
|
| If you want to make sure you're doing something sufficiently
| differentiated, find an area where you still need to shave a
| few yaks.
| malcolp wrote:
| Just googled this and couldn't find any results. Is this a
| term you came up with?
| amelius wrote:
| > But "The Art of Computer Programming" is an impressive book in
| its own right: it is still unfinished, currently spanning 3.5
| volumes (yes, the fourth is unfinished, but the first chapters
| are released).
|
| I wish he would update his volume on Searching and Sorting with
| modern search engine techniques.
| taeric wrote:
| I'm curious on the updates you anticipate. Many of the items in
| the book are approachable without having to go too far into
| specific domains.
| amelius wrote:
| The most important chapter would be on how to benchmark a
| search engine.
|
| And I would expect coverage of NLP techniques.
|
| Of course, a search engine makes use of distributed computing
| techniques, so I'd also expect a volume on that topic :)
| taeric wrote:
| My gut would be that his benchmark would be highly focused
| on number of memory access. And heavily empirical. Agreed
| that it would be neat to see.
| chubot wrote:
| Great post! I just dug up this informative comment by @svat from
| 3 years ago on the Pascal to C conversion, for anyone who's
| interested:
|
| https://news.ycombinator.com/item?id=16526151
|
| _Today, major TeX distributions have their own Pascal(WEB)-to-C
| converters, written specifically for the TeX (and METAFONT)
| program. For example, TeX Live uses web2c[5], MiKTeX uses its own
| "C4P"[6], and even the more obscure distributions like KerTeX[7]
| have their own WEB /Pascal-to-C translators. One interesting
| project is web2w[8,9], which translates the TeX program from WEB
| (the Pascal-based literate programming system) to CWEB (the
| C-based literate programming system)._
|
| _The only exception I 'm aware of (that does not translate WEB
| or Pascal to C) is the TeX-GPC distribution [10,11,12], which
| makes only the changes needed to get the TeX program running with
| a modern Pascal compiler (GPC, GNU Pascal)._
|
| ...
|
| I may write a blog post on this since it's relevant to how
| https://www.oilshell.org/ is written in a set of Python-based
| DSLs and translated to C++.
| thangalin wrote:
| The instructions for compiling TeX from scratch are a little
| daunting, and sometimes unclear (e.g., having to define printer
| settings). Here are my Linux instructions for those who want to
| get core TeX up and running:
|
| https://tex.stackexchange.com/a/576314/2148
|
| Although TeX has many years of development effort behind it,
| the core functionality of converting macros to math glyphs is
| reasonably straightforward and can be accomplished in a few
| months---especially given that high-quality math fonts are
| freely available. Here's a Java-based TeX implementation that
| provides the ability to format simple TeX equations:
|
| https://github.com/DaveJarvis/JMathTeX
|
| The code supports neither vectors/matrices nor bracket sizing
| (PR welcome!):
|
| https://github.com/DaveJarvis/JMathTeX/issues
| no-such-address wrote:
| Wasn't DEK giving a talk entitled, "The Letter S" in connection
| with the invention of Metafont? Nothing but admiration!
| tzs wrote:
| MIX was not yak shaving.
|
| In 1968 a book like TAOCP needed to cover assembly programming.
| Using an existing assembly language for an existing machine would
| not work well unless you wanted the book to be "TAOCP for CDC
| 6600 Programmers" or "TAOCP for Burroughs B5500 Programmers" or
| "TAOCP for IBM/360 Programmers" or similar. There were a lot of
| significant differences between different machines, and so if
| your book used any particular one for its implementations it
| would be harder to use for readers who used a different machine.
|
| MIX allowed Knuth to capture the important points that you needed
| to learn about assembly programming, without getting you tied to
| any particular machine.
| thepete2 wrote:
| Besides Tex there is also git. Written only as a SCM for the
| linux kernel it went on to be used basically anywhere.
| happycube wrote:
| When I saw Microsoft put the Windows source tree into git, I
| figured "ok, that's it, git won."
| zquestz wrote:
| Enjoyable read for sure. Must have missed this the first time it
| went around.
| wodenokoto wrote:
| After googling around, as far as I can tell the word yak shaving
| come from a ren and stimpy cartoon episode from the early
| nineteens.
|
| But how did it go from preparing for yaksmas to the current
| meaning?
| bellyfullofbac wrote:
| Probably because some hacker started using it, according to the
| Jargon File[1] someone in the MIT AI Lab popularized it.
|
| [1] http://www.catb.org/jargon/html/Y/yak-shaving.html
| kragen wrote:
| I don't think that's in AI-lab versions of the Jargon File.
| davidgerard wrote:
| I dunno, that time Ken and Dennis wanted to port their video game
| so they wrote a small operating system. How did that OS end up
| going?
| mjard wrote:
| This has made a lot of people very angry and been widely
| regarded as a bad move.
| znpy wrote:
| You win "comment of the year" 2022 edition.
| LeFantome wrote:
| Don't panic
| qntty wrote:
| The Art of Computer Programming itself is a yak shave. Knuth was
| originally going to write a book on compilers, but he realized
| that he needed to cover some prerequisites first, and that became
| TAOCP.
| znpy wrote:
| Unironically, I hope thst compiler book sees the life one day.
|
| Iirc that should be part of the taocp plan.
| hcs wrote:
| "Volume 5
|
| Syntactic Algorithms, in preparation.
|
| 9. Lexical scanning (includes also string search and data
| compression)
|
| 10. Parsing techniques
|
| ...
|
| And after Volumes 1--5 are done, God willing, I plan to
| publish Volume 6 (the theory of context-free languages) and
| Volume 7 (Compiler techniques), but only if the things I want
| to say about those topics are still relevant and still
| haven't been said."
|
| https://www-cs-faculty.stanford.edu/~knuth/taocp.html
| MarcusE1W wrote:
| Does that mean TeX and ACP delayed the revelation of
| thoughts about compiler technics by 40 years and he thinks
| his original thoughts to start the whole thing with are
| still relevant and at least partially not
| published/discovered?
|
| Given what he did for computer algorithms (and doc type
| setting) this makes me really curious about his views on
| compilers.
| projektfu wrote:
| I think, though, that there was nothing preventing him from
| developing TeX in Fortran or something, and leaving it at that.
| He is just somewhat easily distracted. He nerd-snipes himself
| possibly.
|
| Yak Shaving is the frustrating work we do because of impedance
| mismatch in the system. Libtool is a huge yak shave, for example.
| But so is writing a custom CSV parser because an input file is
| just not quite accessible by the standard, and you could just use
| python to make the translation, but your environment won't let
| you use python in that spot, etc. Days later nothing is really
| accomplished, you hate programming, and you can finally start
| work on the real problem after losing the motivation you had when
| you started.
|
| But I like the idea of a patron saint for this, and Knuth is as
| good as any. Perhaps Dijkstra could be the patron saint of Unused
| Better Solutions. I'm sure there's a litany of things that could
| use saints in this field.
| chubot wrote:
| Hm what unused better software did Djikstra write?
|
| Maybe Knuth could have used Fortran and not Pascal, but that
| doesn't solve the literate programming problem ... he would
| still want something like WEB.
|
| Seems like Fortran is more maintained today than Pascal, but
| Knuth couldn't have known that. The community yak shave to
| translate the code arose out of other forces in the industry.
| drfuchs wrote:
| This and more. The Sail version of TeX is mentioned, but
| everything else had a usable prototype, too: An early version of
| Metafont in Sail, an early version of Web (called Doc, though I
| don't recall what the names of the Tangle and Weave equivalents
| were), and an early version of Computer Modern fonts in the early
| Metafont language.
|
| Though fully documented and available via anonymous FTP on the
| Arpanet, all of these prototypes were experimental proofs-of-
| concept and were completely discarded, along with the languages
| they implemented, with the "real" versions rewritten from scratch
| by Knuth (each first by hand on legal pads, then typed in and
| debugged as a whole.)
|
| And you missed one more obscure but instructive example: To get
| the camera-ready copy for ACP Vol 2, Knuth purchased an Alphatype
| CRS phototypesetter. And, unhappy with the manufacturer's
| firmware, he rewrote the 8080 code that drives the thing. Eight
| simultaneous levels of interrupts coming from various subsystem:
| the horizontal and vertical step-motors that you had to
| accelerate just right, while keeping synchronized with four S100
| boards that generated slices of each character in realtime from a
| proprietary outline format, to be flashed into the lens just as
| it was passing the right spot on the photo paper. (Four identical
| boards, since you had to fill the second while the first one did
| its processing; times two for two characters that might overlap
| due to kerning). Oh, and you had to handle memory management of
| the font character data since there wasn't enough RAM for even
| one job's worth (see our joint paper).
|
| Fun times. I did the driver on the mainframe side, so got to be
| there for the intense debugging sessions that used only the CRS's
| 4x4 hex keypad and 12-character dot-matrix display.
|
| Thanks for the DVI shout-out, btw.
| userbinator wrote:
| _And, unhappy with the manufacturer's firmware, he rewrote the
| 8080 code that drives the thing._
|
| Presumably without the source code, so he RE'd it too? In that
| case, I'd say he captured the spirit of right-to-
| repair/read/modify even better than Stallman (who, if I
| remember correctly, founded his GNU empire entirely on
| complaining about not getting the source code for, ironically
| enough, also a printer.)
| gjvc wrote:
| Not only is this staggering to think about in terms of the
| Herculean effort required, but what's even more amazing is the
| quality of the finished output of the system, unmatched to this
| day.
| jhgb wrote:
| At least systems were smaller then and much better
| documented, so the effort was at least well supported.
| Perhaps the quality is correlated with that since you weren't
| able to squeeze quantity into your work anyway, so your
| efforts _had_ to go into quality.
| jacklizhui wrote:
| TAOCP vs ACP. Would Knuth approve?
| drfuchs wrote:
| Hey, on the Sail machine, user names were 3 letters, and you
| only got one level of subdirectory, also 3 letters long. So,
| in the syntax of the time, "[ACP,DEK]" was it!
|
| (Six bits for each upper-case alphanumeric character means a
| 6-character directory name neatly fits into a 36-bit word on
| the DEC PDP-10. And file names were limited to 6 characters
| for the same reason; extensions were 3 characters, with the
| remaining 18 bits for file meta-data, I think.)
| gjvc wrote:
| _Thanks for the DVI shout-out, btw._
|
| Thank you for creating it! Is there some article or something
| which talks about the original project or motivation for the
| DVI format? If DEK implemented it as part of TeX in 1982, what
| was DVI being used for before that?
|
| (For those unfamiliar,
| https://en.wikipedia.org/wiki/Device_independent_file_format)
| drfuchs wrote:
| Sure. Knuth's original Sail version of TeX just directly
| wrote output in XGP format, since the only type of usable
| device anybody had was the experimental XGP printer (which
| Xerox had bestowed on a few CS departments, years before
| electrostatic printers were commercially available, never
| mind laser printers). When Knuth ordered the Alphatype
| typesetter, he asked me to write a new output module for the
| required format, and we'd be able to statically link it
| instead of the XGP module, so there'd be two TeX executables
| to choose from, depending where your output was going.
|
| Well, imagine you're an unaccomplished grad student, and
| you're going to tell Prof. Donald Knuth that he's wrong-
| headed, that his approach wouldn't scale, and that the right
| thing to do instead is to have a simple, intermediate format,
| so that nobody would have to muck around in TeX's internals
| to get a new output device going. Quite the rush when he gave
| the go-ahead.
|
| So, the first DVI format was purpose-built for proto-TeX (and
| underwent a revamp for the final cut, just like everything
| else). It's really just a slightly compressed form of
| display-list (move to x,y; put down character c in font f;
| move; put down a rule; done with page) and nothing to write
| home about. While it was important in the early days to help
| us and others to get various devices going, and allow for Tom
| Rokicki's fabulous(ly important) DVI-to-PostScript program,
| given the ubiquity of PDF today, it's appropriate that we've
| come full circle, and PDF output is built into most TeXs that
| people now use, leaving DVI mostly a historical footnote.
| ThomasBHickey wrote:
| Those were good times. I got a copy of the SAIL Metafont
| and managed to port it to Tandem's TAL language (rather
| like BLISS, but stack oriented on a 16/32-bit machine).
| There was some serious bit-twiddling in the code using
| every bit of every 36-bit word! Working with TeX
| (thankfully the Pascal version), we spent lots of time
| doing DVI implementations for various devices. Are virtual
| fonts still a thing?
| znpy wrote:
| Thank you for letting us all know the back-story!
___________________________________________________________________
(page generated 2022-01-09 23:00 UTC)