Recent years have witnessed a surge in the development of fast graph algorithms based on methods from continuous optimization. Classically, graph algorithms have relied on purely combinatorial techniques. However, new ideas stemming from scientific computing and machine learning set forth an emerging theme of algorithm design via continuous optimization. I will provide a tour through some of the techniques that underlie this theme, and show how they can be used to obtain fast algorithms for solving a range of fundamental problems such as maximum flow, minimum cost flow, or negative-weight shortest paths. Additionally, I will show how these modern algorithms offer far reaching insights which can dramatically speed-up standard machine learning primitives.