Preheat oven to 350 degrees F.
In a large bowl, whisk flour, baking soda, sugar and salt together and set aside.
In a 10-inch cast iron skillet, bring the butter, vegetable oil, cocoa powder and water to a boil. Remove it from the heat and whisk in the dry ingredients. Mix in the buttermilk, egg and vanilla. Bake the skillet for about 15-20 minutes or until a tester comes out with just a few moist crumbs.
While the cake cools, make the frosting. In a medium saucepan, bring the butter, cocoa powder and milk to a boil. Remove from heat and add the powdered sugar, nuts and vanilla. Stir to combine. Pour the frosting over the warm cake and spread with a spatula.
Serve with vanilla ice cream, caramel sauce or whipped cream.