Directional Derivatives... There is a proof for how the limit definition of the direction derivative can be expressed as $\nabla f\cdot u$ that I found online where we define a function $g(h) = f(x+ha, y+hb)$ and find the derivative of it at $h=0$ which is equal to the limit definition of the directional derivative. Then we use the chain rule and evaluate that at $h=0$ too, and the two expressions of $g'(0)$ which is equal to the limit def. of a directional derivative.
What I don't undetstand is the first step. Why do we create a function $g(h) = f(x_0 + ha, y_0 + hb)$ and when we find the derivative of it, why do we evaluate it at $h=0$? Also why do we evalautate the chain rule expression at $h=0$ too?
 A: I personally don't know what proof you're referring to, but I know one that's pretty intuitive. First, note that you can express your position $\textbf{r}$ in n-dimensional space as 
$$\textbf{r}=\displaystyle\sum_{i=1}^nx_ie_i,$$
where $e_i$ is the vector of unit length pointing in the $x_i$ direction. It looks to me like you're only interested in the two dimensional case, so I'll go ahead and give you that one. Now this lets us say that 
$$\textbf{r}=xe_1+ye_2.$$
Note that $e_1$ is sometimes referred to as $\hat{\imath}$ or $\hat{x}$ and that $e_2$ is sometimes referred to as $\hat{\jmath}$ or $\hat{y}$. Now, just a few more definitions. Let's define some starting point $\textbf{p}$ as
$$\textbf{p}=x_0e_1+y_0e_2,$$
where $x_0$ and $y_0$ are starting points in the $x$ and $y$ directions, respectively. Now let's define a vector $\textbf{v}$ as
$$\textbf{v}=v_xe_1+v_ye_2$$
Finally, let's parameterize a straight path along our vector $\textbf{v}$ starting at the point $\textbf{p}$ with a time-dependent function $\gamma(t)$:
$$\gamma(t)=(x_0+v_xt)e_1+(y_0+v_yt)e_2$$
where $x=x_0+v_xt$ and $y=y_0+v_yt$.
Note that $\gamma(0)=\textbf{p}$ and $\frac{d}{dt}\gamma(t)=\textbf{v}$.
Now, recall the definition of the directional derivative: given a function $f(\textbf{r})=f(x,y)$ with the two dimensional $\textbf{r}$ defined above, the directional derivative with respect to a vector $\textbf{v}$ at a point $\textbf{p}$ can be represented as
$$\nabla_{\textbf{v}}f(\textbf{p})=\lim_{h \to 0}\frac{f(\textbf{p}+h\textbf{v})-f(\textbf{p})}{h}.$$
Also note that $\gamma(a)=\textbf{p}+a\textbf{v}$.
Now, using our helpful little t facts about our parameterization $\gamma(t)$ mentioned earlier, we can say that
$$\nabla_{\textbf{v}}f(\textbf{p})=\lim_{h \to 0}\frac{f(\gamma(h))-f(\gamma(0))}{h}$$
This is the trick:
$$\nabla_{\textbf{v}}f(\textbf{p})=\lim_{t \to 0}\lim_{h \to 0}\frac{f(\gamma(t+h))-f(\gamma(t)))}{h}=\lim_{t \to 0}\frac{d}{dt}f(\gamma(t))$$
From here, we just use the multivariable chain rule (or the exterior derivative; whicherver one you're more comfortable with).
$$\frac{d}{dt}f(\gamma(t))=\frac{\partial f}{\partial x}\frac{dx}{dt}+\frac{\partial f}{\partial y}\frac{dy}{dt}=\frac{\partial f}{\partial x}v_x+\frac{\partial f}{\partial y}v_y$$
And that of course means that
$$\nabla_{\textbf{v}}f(\textbf{p})=\lim_{t \to 0}\frac{d}{dt}f(\gamma(t))=\lim_{t \to 0}\nabla f(\gamma(t))\cdot\textbf{v}=\nabla f(\textbf{p})\cdot\textbf{v}$$
