Hyperplane Arrangements and Applications