Doug McIlroy makes my day

Yeah, that’d be the Doug McIlroy. Ken Thompson and Dennis Ritchie’s boss when they were inventing Unix, himself one of its early co-designers, and the inventor of the Unix pipe.

He was very helpful when I was doing The Art of Unix Programming in 2003. Hadn’t heard from him since then until he emailed me out of the blue today to say good things about the manual I wrote for GNU PIC. Good Web rendering here; googling may turn up other copies.

He said:

I just read your manual for gnu pic. It’s a great job.
I’ve found that almost invariably follow-on descriptions of
Unix are either (1) too verbose or (2) too incomplete. When I
saw the page count I instinctively assigned this document to
category 1. But I had to read it, for man pic on Linux is
category 2. Only after I had finished and revised my opinion
to “this is a real keeper” did I go back to the title page to
see who wrote it.

Praise from the master is praise indeed. I am a happy Eric today.

I haven’t felt quite like this since Donald Knuth emailed me a bug fix for INTERCAL…

63 thoughts on “Doug McIlroy makes my day

  1. >What, he was able to actually do something useful with it?

    Um. “Useful” is not the word that first leaps to mind.

  2. I’m not sure exactly how, but I have a sneaky feeling that if anybody manages to to do something actually useul with INTERCAL they will be very, very rich. Or at least very, very famous.

    Well, it’d be hilariously ironic, anyway.

  3. I think Eric is just saying that Knuth discovered the bug while in the course of goofing off utterly.

    I once attended a guest lecture by John Conway about the history of the Game of Life, and made the error asking a question containing the word “useful”. He shouted the word back at me indignantly, threw his chalk at me, and demanded I apologize to the ladies in the room.

  4. >He shouted [useful] back at me indignantly, threw his chalk at me, and demanded I apologize to the ladies in the room.

    Ah, theoretical mathematicians. I was one of those once. I won’t say I got better, but I got different.

  5. >a bug fix for INTERCAL

    Doesn’t INTERCAL itself count as a bug?

  6. Minor erratum. On , the source code of the first example is slightly incorrect. This line:

    box “\fIpic\fP(1)”

    should be

    box “\fIgpic\fP(1)”

    This is a bit puzzling to someone who’s trying to figure out how exactly the \fI and \fP parts work. Otherwise, nice manual. I tried to learn pic a year ago, but was stymied by the poor documentation. It’ll be nice to be able to generate figures procedurally without needing to use cairo/python or raw PostScript.

  7. > Ah, theoretical mathematicians. I was one of those once.

    And your Erdos number is?

    I believe Winnie Cooper has published more original mathematics than esr.

  8. >And your Erdos number is?

    Only roughly speaking, Eric can be called a mathematician. His only mathematical paper was a proof for “a closed form for the Nth term of the generalized Fibonacci series” accepted by and presented at AMS in 1975 when he was a 17-year-old teenage. That was not a collaboration work so forget about the erdos number thing. He was a math prodigy, and a promising would-be-mathematician. Alas, He didn’t have the discipline and burnt out (the last sentence is what he says about himself and RMS)

  9. >His only mathematical paper

    Only published one. I have at least two others in a document box somewhere.

    One was a development of multilinear algebra for higher-order analogues of matrices – equivalent to tensor calculus, as it turns out.

    Another was a closed form for computing summands of arbitrary sets of polyhedral dice – that one had interesting connections to simplicial geometry on point lattices, but I never published it because the formula was computationally intractable.

    I independently rediscovered the Vigenere cipher when I was 13 and lattice algebra when I was 15. Of course, I couldn’t publish either of those.

  10. >I never published it because the formula was computationally intractable.

    Seems juicy. At least publish it in a scientific mag or if you think you’ve missed some possibilities, I am sure you can find some trustworthy mathematician to collaborate with.

    BTW, my apologies for the inaccuracy of the previous post.

  11. It is a great day when a hacker is praised for documentation. When a hacker writes (or maintains) something like INTERCAL, s/he should beware of villagers with beer, torches, kevlar, pitchforks, duct tape and access to youtube.

    In this case I’m not quite sure which phenomenon mandates the brightest spotlight, someone actually getting through the supplied documentation or someone writing its author to compliment the author’s competency. Either seems more unlikely than the latter originating from DM.

    This event deserves a name, as any comet might, for several reasons.

  12. Daniel Franke,

    “I once attended a guest lecture by John Conway about the history of the Game of Life, and made the error asking a question containing the word “useful”. He shouted the word back at me indignantly, threw his chalk at me, and demanded I apologize to the ladies in the room.”

    I hope he meant that he does it for fun, not for utility. If neither for fun nor for utility, that would be a WTF.

  13. It is a great day when a hacker is praised for documentation. When a hacker writes (or maintains) something like INTERCAL, s/he should beware of villagers with beer, torches, kevlar, pitchforks, duct tape and access to youtube.

    This is Eric S. Raymond we’re talking about. His behavior is well outside even the eccentric norms exhibited (and valued) by hackers.

  14. >His behavior is well outside even the eccentric norms exhibited (and valued) by hackers.

    Heh. I deduce from this that you’ve never met RMS.

  15. > a closed form for the Nth term of the generalized Fibonacci series” accepted by and
    > presented at AMS in 1975 when he was a 17-year-old teenage.

    This is a well-known result. If Eric discovered something new, its not obvious from your description.

    http://en.wikipedia.org/wiki/Fibonacci_number#Closed_form_expression

    Searching for Raymond in all the papers indexed on ams.org turns up two by Jean Saint Raymond, and three by Frank Raymond (the earliest of these in 1960), but none by Eric Raymond.

    Eric was elected to “ordinary membership” in 1976, when he was a freshman at U of Pa., but there are no special requirements for “ordinary membership”.

    http://www.ams.org/bull/1976-82-06/S0002-9904-1976-14189-4/S0002-9904-1976-14189-4.pdf

    > Only roughly speaking, Eric can be called a mathematician.

    In the same way that Russ Nelson can be called an economist.

    > I deduce from this that you’ve never met RMS.

    I’ve met both rms and esr. The behavior and general hygiene of rms is unspeakable.

    Note that I think that Eric’s efforts on quality documentation, and his expressed interest in mathematics are praise-worthy.

  16. >This is a well-known result. If Eric discovered something new, its not obvious from your description.

    Steve Ray correctly said “generalized Fibonacci sequence”. Linear recurrence equations, actually. Pay attention! Furthermore, my closed form was not a generalization of the Binet formula but a different result, less analytic and more algebraic in character.

    I presented it at the AMS national conference in ’76 in San Antonio and have remembered that city fondly ever since. I had just graduated high school; it was the first time I traveled on my own. Quite the adventure.

  17. >So what made you focus on programming instead of math?

    Long, in many ways rather sad story that I’m not going to try telling in a blog comment or blog entry. I was (a) immature, (b) not well counseled by the adult supervision, and (c) burned out. I call myself an ex-mathematician because I actually did produce original mathematics of publishable quality – but it was all before I was 20.

  18. Steve Ray correctly said “generalized Fibonacci sequence”. Linear recurrence equations, actually. Pay attention! Furthermore, my closed form was not a generalization of the Binet formula but a different result, less analytic and more algebraic in character.

    Kalman derived a number of closed-form formulas for the generalized Fibonacci sequence. I can’t find Kalman’s 1982 “Generalized Fibonacci numbers by matrix methods” online, but perhaps you know of it. Also, a more recent paper by Kalman would seem interesting. Are the ideas similar?

    Kalman is at American University now. I’m sure he’d love the contact if you had the ideas first.

    Your paper doesn’t show up here, either.

    http://www.millersville.edu/~rumble/Math.422/Fall08/Kalman.pdf

  19. >Are the ideas similar?

    No. I didn’t use matrix algebra, just elementary algebra and combinatorics — Kalman’s method is impressive but seems like overkill for the problem. Dang, now I’m going to have to dig up that paper just so I can recover how I did it – it’s been 33 years and I don’t remember the details any more.

    It’s kind of interesting that there are at least three different closed form proofs – there’s the fairly well-known generalized Binet, Kalman’s matrix-algebra version (quite different in character – it postdates mine, and I didn’t know of it until you brought it up) and mine using much more elementary methods. My version was closer in spirit to Kalman’s but not really very close. Makes me wonder how many other closed forms are out there.

    Sadly, I’m guessing the Proceedings of the 1976 conference haven’t made it to the Web, otherwise your diligent searching would doubtless have turned them up by now.

  20. not(Russ Nelson): In the same way that Russ Nelson can be called an economist. Why, it’s Jim Thompson, back from the septic system! (he being the only person in the world who questions my bona fides.) I thought you were banned from this site for being an snot-nosed jerkface? Changing your name but not your behavior was certainly not the intended result from banning you.

  21. Russ: Yup, I figured as much. Believe it or not, I was in the middle of running his comments through a text classifier to test my suspicion when I read your comment. Seeing it is already confirmation enough for me, but I think I’ll finish up anyway because I’m still curious how it’ll turn out.

  22. I would have thought the nom de plume was enough to raise your suspicions, Russ. :-)

    I over-use “Note that” as well.

  23. > Sadly, I’m guessing the Proceedings of the 1976 conference haven’t made it to the Web,
    > otherwise your diligent searching would doubtless have turned them up by now.

    I’d label it more a ‘cursory search’. I couldn’t find Kalman’s original paper, either. I’ve been considering writing Kalman, and writing the AMS to locate reprints of both, because I’m genuinely curious.

  24. And Russ, let me say it here, so you can perhaps read it before esr ‘bans’ me.

    If you are an economist, you are, at best, a mediocre one. Yes, you have a certain amount of interest in the subject, and you’re well-read, and you’ve even internalized some of the concepts.

    But nobody employs you as an economist, so you’re not a professional in any sense of the word.

    You have no formal training in economics that you’ve admitted to in any forum I’ve seen. (yes, you’re well read in the subject, and self-training is both its own reward and its own tripping point.)

    Once on this very blog, a couple years ago, I quoted you long passages from E.F. Schumacher. You pronounced them “crap”, because you thought they were my words, but, in fact, they were the words of an internationally influential economic thinker with a professional background as a statistician and economist in Britain.

    I think you’re a petty little man, Russ. Eric at least stands up for what he believes.

  25. and I am far from the only person in the world who questions your bona fides. You’ve even fought same on your own blog.

  26. >Why, it’s Jim Thompson, back from the septic system! (he being the only person in the world who questions my bona fides.)
    >>Russ: Yup, I figured as much.

    Dudes, please! It’s quite hilarious to say something like ” the only person in the world that blah blah blah “. Even if the so-called poor sap is Jim, at least now he’s not acting like a troll.
    I live in an atmosphere where “freedom of speech” is an empty political slogan and because of the oppression and early hurting memories I just hate it when someone is not allowed to talk/write anymore. Yes, this is the virtual world of a blog but I REALLY hate it.

    People who think differently and have something to say should be tolerated (even if they think you are not an economist or I’m not an Iranian) otherwise what’s the point of all this excessive rantings and ravings about the evils of Islam and fascism when you are acting like one of the followers of those cults: Praise anyone who says what we want and oppress anyone who thinks differently.

    Personally, I have never tried to act like an asshole in this blog but I frankly got upset when Jim and Marshal got banned, because they were at least criticizing esr and not mere fan boys who blindly accept everything that he says. I am not saying their criticism was always credible or they were not deluded on all areas.

    Well as Nietzsche says:
    The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently.

  27. P.S. When I was writing the above comment my browser was in the “offline mode” so the last comment I saw before the posting was Daniel Franke’s. I think after that Jim acted well like a troll :-)

  28. > I think after that Jim acted well like a troll :-)

    just about the time when Russ ranted.

  29. People who act like trolls, who do nothing but hurl insults, should be banned. Sorry, Steven Ray, but that’s how it is.

    Marshal tried to assume someone else’s screen ID to post a negative comment. This is what got him banned, not for disagreeing.

    People who take a dump in the punch bowl should be thrown out of the party. Simple as that.

    People can disagree with ESR here, and they do so all the time. But you do have to have some manners.

    This is what is wrong with so much of the internet: no one polices the trolls, and they run wild. The comment threads on Youtube are a notorious example of this. One quickly learns to ignore the threads there, seeing as how they are usually little more than threats and insults, typed with lots of misspellings and bad grammer. I have noticed that any comment that starts with LOL is never worth reading.

  30. BY the way, I googled INTERCAL, and help me to see if I understand this right:

    It is basically a programming language designed to be as hard as possible to use and read? Is that what it is? Like the whole thing is an exercise in geeky humour?

    I mean this thing is not really used for anything right?

  31. Jim Thompson is indeed banned, under whatever name. Not for disagreeing with me, but for being a chronic troll and asshole. I put up with him for longer than I should have because not suppressing criticism and dissent is very high on my list of values, but I’m not going to repeat that error.

  32. One was a development of multilinear algebra for higher-order analogues of matrices – equivalent to tensor calculus, as it turns out.

    Well, yeah – tensor calculus is pretty much what you get when you think “can I approach multilinear algebra using hypercuboidal arrays of numbers?” :-) But (a) re-inventing it is not a trivial feat, (b) I’m sure you’re not the first nor last person to do so, (c) you can probably be forgiven for not having heard of tensor calculus given your age at the time :-)

    Another was a closed form for computing summands of arbitrary sets of polyhedral dice – that one had interesting connections to simplicial geometry on point lattices, but I never published it because the formula was computationally intractable.

    I too would be very interested to see this.

    Darrencardinal: yes, that’s right. It’s also (AIUI) a parody of some of the language-design tropes of the time (for instance, it has no GOTO statement, preferring to use COME FROM instead). For a language that’s truly hard to program in, though, you may wish to check out Malbolge

  33. >I too would be very interested to see this.

    I’ll try to dig it up. But if you want to know how intractable, I remember that the result was a fraction in which the numerator was a complex product of large powers of two and the principal term in the denominator was an application of the partition function. Or possibly I have those two reversed :-).

    >it has no GOTO statement, preferring to use COME FROM instead

    Please note that this was not a feature of the original 1972 INTERCAL; I added it, because it was the only language feature I could think of from anywhere else that was horrifying enough to deserve being in INTERCAL. Subsequent critical reaction has, shall we say, amply confirmed that judgment.

  34. I remember that the result was a fraction in which the numerator was a complex product of large powers of two and the principal term in the denominator was an application of the partition function.

    Yeah, I see what you mean. The “simplicial geometry on point lattices” bit sounds intriguing, though!

  35. >The “simplicial geometry on point lattices” bit sounds intriguing, though!

    OK, that part I remember. The problem turns out to be equivalent to counting lattice points in an particular N-space simplex where N is the number of dice. The volume boundaries are, on all but one side, the hyperplanes defined by setting one coordinate to zero, and on the remaining side by a hyperplane computed in a way I no longer remember. That should give the flavor, at least.

    Hm. More of it is coming back now. The hyperplane (which is, of course, an (N-1)-simplex itself) is defined by the sum of all coordinates being constant. Basically, the formula counts lattice points in these planes.

    One of the reasons it was an at least mildly interesting result was that it had this rather elegant geometrical realization, but the actual formula was strongly number-theoretic in style.

    Yeah, I should dig this up and throw it on the net.

  36. > Subsequent critical reaction has, shall we say, amply confirmed that judgment.

    Brilliant!

  37. not(Russ Nelson): the worse your opinion of me, the more I know that I’m doing and saying the right things. The harder you have to try to dig up dirt on Eric, the more obvious it is that Eric has standing in the community. When a turd calls you a shit, you know you’re not one.

  38. I’m not familiar with the past writings of Jim Thompson, but the 2 or 3 posts by “not(Russ Nelson)” before esr obviously banned him again were neither constructive nor intelligent.

    Why does he bother?

  39. >Why does he bother?

    It seems to be a weird sort of inverse fanboy syndrome. Ordinary fanboys become fascinated by someone they think is really cool or admirable and fawn all over the person; trust me when I tell you this is pretty uncomfortable to watch or be on the receiving end of, unless you are a narcissist who craves a daily dose of adulation like a drug.

    Inverse fanboys are revolted by their own fascination, and it all turns negative; they’ll obsessively try to tear down the object of it, and display stalker-like behaviors. They’re less common, just as creepily fixated, and even more unpleasant.

  40. > Is that what it is? Like the whole thing is an exercise in geeky humour? I mean this thing is not really used for anything right?

    That’s what they kept asking about LIM EMS . . .

  41. Congratulations on doing your small bit to ameliorate the generally sucky and cut-rate state of open source documentation, Eric. Every little bit counts.

    Now if only the FFmpeg guys could be arsed to write non-self-contradictory docs with decent coverage…

  42. Heh. I deduce from this that you’ve never met RMS.

    A couple times, briefly. Originally I thought he was one of Cambridge’s many street denizens.

    With footage of him eating his own toejam floating around YouTube, it’s not necessary to meet him in order to verify his social-behavior outlier status.

    But I wasn’t talking about RMS…

  43. “Inverse fanboys are revolted by their own fascination, and it all turns negative; they’ll obsessively try to tear down the object of it, and display stalker-like behaviors. They’re less common, just as creepily fixated, and even more unpleasant.”

    This is what the common folks call a “hater.” XD

  44. “Heh. I deduce from this that you’ve never met RMS.”

    *ahem* “Open source is better than free software because libertarians wash.” – someone, several years ago, after having dealt with both ESR and RMS.

    I have heard the horror stories of dealing with RMS’s talk rider.

    I remain a tremendous fan of him, of course.

  45. David Gerard — agreed. Few people have articulated their beliefs in as simple and clearly defined terms as Stallman; Eric certainly hasn’t. (Though, granted, the audience for Eric’s open-source exegeses are business people, whose native tongue is what Neal Stephenson calls “bulshytt”; clear language in well-defined terms does them up in knots.) The fact that Stallman desperately needs personal grooming habits bootcamp is an orthogonal concern.

  46. >Few people have articulated their beliefs in as simple and clearly defined terms as Stallman; Eric certainly hasn’t

    Eh? Read my second book. I think I was pretty clear. Even pointy-haired bosses got it — some of them, anyway.

    Part of the reason RMS’s explanations sound simple is that he has the invincible, oversimplifying certitude of a dogmatic moralist. He never changes his mind and can’t change the subject. I, on the other hand, get nervous about possible mental calcification in any year that I don’t change my mind about something significant to my own beliefs.

    >“Open source is better than free software because libertarians wash.”

    ROFL. Actually there’s a real insight there; the difference makes open source more effective as marketing, at least.

  47. This is Eric S. Raymond we’re talking about. His behavior is well outside even the eccentric norms exhibited (and valued) by hackers.

    What the hell do you expect from someone who has named his blog “Armed And Dangerous“?! :)
    Just looking at the title: “Sex, software, politics, and firearms. Life’s simple pleasures… ”
    So we have: A male hacker who takes (simple???) pleasure in firearms, loves sex more than software and continuously quotes Lazarus Long.
    Please answer the following MC question by checking the correct choice on your answer sheet:

    Oh,…Is it a gesture of:
    A) being unorthodox?
    B) badassery?
    C) gun-nuttery?
    D) WTF?!

    no I’m not trolling; just (genuinely) curious!

  48. >Heh. I deduce from this that you’ve never met RMS.

    why do you always try to stick ur name with rms? he is a great hacker and initiated the basic idea behind foss, but you are at best a simple advocate. he is not only a better hacker than you are –look at your resumes and frankly compare teh two– but also a tribe hero and a far more respected person than you are. sorry, but you are hardly half what you claim to be and indeed tooOOoo arrogant and disrespectful.

  49. >A male hacker who takes (simple???) pleasure in firearms, loves sex more than software

    Ah, so you thought that was a priority list rather than arranged for euphony and poetic effect, eh? Interesting misinterpretation. Probably comes of not being a native speaker of English.

    I’ll select B, and note that the only people offended by my “unorthodoxy” are the sort who I find it both a duty and a pleasure to offend.

    If Jeff thinks my behavior is outside hacker norms…well, let’s just say that’s evidence he’s led a sheltered life.

  50. I see. So the set of your interests was not ‘partially ordered’.
    But wait a second…I thought that part was so natural. Come on, playing with bits is only rarely better than playing with tits :-)

  51. >But wait a second…I thought that part was so natural. Come on, playing with bits is only rarely better than playing with tits :-)

    And now you understand the “poetic effect” part :-)

  52. >Praise from the master is praise indeed. I am a happy Eric today.
    >I haven’t felt quite like this since Donald Knuth emailed me a bug fix for INTERCAL…

    score! (twice)

  53. heh.
    on seeing that post-posting, i realised it could read not so much congratulatorilyirilylygrat as CatB-ironic.

    not intended but still dryly droll.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">