Skip to content

Missing content in The Art of Unix Programming #20

@mlafeldt

Description

@mlafeldt

Hi @danchoi,

While reading the mobi version on my Kindle, I noticed that some bits were missing from http://www.faqs.org/docs/artu/ch01s06.html

In the original it says:

Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, had this to say at the time [McIlroy78]:

(i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.

(ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.

(iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.

(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.

He later summarized it this way (quoted in A Quarter Century of Unix [Salus]):

However, points (i) to (iv) are completely missing in the mobi.

I guess the Ruby parser has to be extended to parse this HTML too:

<div class="blockquote"><blockquote class="blockquote"><p>(i) Make each program do one thing well. To do a new job, build
afresh rather than complicate old programs by adding new
features.</p><p>(ii) Expect the output of every program to become the input to
another, as yet unknown, program. Don't clutter output with
extraneous information. Avoid stringently columnar or binary input
formats. Don't insist on interactive input.</p><p>(iii) Design and build software, even operating systems, to be
tried early, ideally within weeks. Don't hesitate to throw away the
clumsy parts and rebuild them.</p><p>(iv) Use tools in preference to unskilled help to lighten a
programming task, even if you have to detour to build the tools and
expect to throw some of them out after you've finished using
them.</p></blockquote></div>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions