Preheat your oven to 350°F and grease a 9x13 inch baking pan.
In one large bowl, whisk together the flour, sugar, cocoa powder, baking soda, and salt until evenly combined.
Add the oil, vinegar, vanilla, and cold water to the same bowl. Whisk for about 1 minute until the batter is completely smooth. For a deeper chocolate flavor, swap the water for cold coffee.
Pour the batter into the pan and bake for 32-38 minutes, until a toothpick inserted in the center comes out with just a few moist crumbs.
Let the cake cool completely in the pan, about 1 hour.
For the frosting, beat the butter for 2 minutes until creamy, then add the powdered sugar, cocoa powder, milk, vanilla, and salt.
Beat on low until combined, then whip on high for 2 minutes until light and fluffy. Spread the frosting over the cooled cake, slice, and serve.