The Nuts and Bolts of Machine Learning