finalised notes from productive programmer