programming techniques 1239887