Probabilistic programming and Bayesian methods for Hackers