Fred Brooks’ “Design of Design”

L: 292:

L 1148: Brooks includes computers in the list of things whose design is too big for one person. I found this oral history for Seymour Cray in the book. In it Cray says that CPU’s should still be designed by one person. That need not include all optimizations, nor circuit design, nor memory technology, nor floating point implementation. I suspect that that is right. The 2016 x86 from Intel is too complex for one to design, or even understand.

I am enjoying the descriptions of computer architecture design.
L 1525: There is a short section on FS.

Brooks likes ‘design reviews’. Me too, It seems so obvious but is unpopular today.

L 1645: Here and earlier Brooks is highly skeptical of ‘theoretical telecommunication’ which is about how people collaborate electronically.

L 1831:

Francis Bacon, 1620;

Reminds me of Pauli’s “Not Even Wrong”.
Later: “Better Wrong than Vague”

L 1873: “An articulated guess beats an unspoken assumption.”

L 2005: See this about the benefits of constraints. If some problem is to hard to solve, change it to make it harder.

L 2169: About Van der Poel’s one op code computer. Notice first that no op code field is needed. In the design that Bill Hanf told me about the op-code was ‘copy’ with three fields. Addressing was to the bit. The program counter was addressable in memory.

L 2870: Of the graph of recorded ideas:

  1. Cut edges in a graph until it is a tree. This process imposes a hierarchical order where there was none before, whether that order is wanted or not.
  2. Map the tree onto a line in any of several well-known ways, but usually depth-first.
It is good to see this process described in plain English. I have been aware of the first compromise and have not found a way around it. Even interactive presentations seem to impose at least a tree. NLS was good at ameliorating the 2nd stage compromises. You often want some linear ordering to ‘exhaustively’ traverse a graph. Expanded notes here.

My general response to chapter 16 is that designing a house is perhaps more a matter of a design for living in a house than a design of the house. That makes it very difficult to automate.