From scratch: reverse-mode automatic differentiation (in Python) | Hacker News