In it, I cover:

- A functional (JAX/Julia-inspired) viewpoint on autodiff in terms of Jvp/Pushforward and vJp/Pullback
- Identifying hierarchy levels in autodiff (scalar-mode, vector-mode, continuous-mode)
- A comparison of Optimize-then-Discretize (OtD) vs. Discretize-then-Optimize (DtO)
- Special aspects of differentiable physics like differentiating over linear and nonlinear solvers
- Advanced topics and recent research directions

Quick test on the math mode: $\int_0^1 x^2 dx$ inline

and full line:

\[\int_0^1 x^2 dx\]And the code snippet:

```
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 100)
y = x**2
plt.plot(x, y)
plt.show()
```