📖Design, composition, and performance

authors
Rich Hickey
year
2013
url
https://www.infoq.com/presentations/design-composition-performance-keynote/

This talks about design as a “plan” or tech design doc.

  • 3:30 Design is not composing a big thing that handles everything. It’s decomposing the system into smaller things that can be put together (composable). Each component should be about one or few things.
  • 6:50 take apart time/order/flow. (e.g. queue, idempotency, communication)
  • 7:40 take apart place/participants
  • 8:13 information vs mechanism
  • design helps with coordination
  • fixing bugs in design stage is much cheaper than in the code. designing upfront is thus more efficient
  • 14:00 art is creating a bunch of self-imposed problems/constraints
  • in music composition, there’s a range at what specificity it is described. from fully laid out notes to just melody + changes. The later gives the performer more freedom but also more responsibility
    • tech design doesn’t have to lay out everything in detail
  • improvisation still involves a tremendous amount of preparation, practice, and study
  • instruments are always made for experienced players
  • humans are incredible learners and teachers
  • 38:00 instruments (and tools) are usually made for one user at a time
  • because it’s code all the way down, it’s very easy for us to get distracted and go do lower-level things and fidget
  • first thing is rushing/embracing the constraints