Preheat the 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 well. Mix in the buttermilk, egg and vanilla. Bake the skillet cake at 350 degrees F for about 15-20 minutes or until a toothpick comes out with just a few moist crumbs.
While the cake starts to cool, make the frosting. In a medium saucepan, bring the butter, cocoa, and milk to a boil. Remove them from heat and add the icing sugar, nuts and vanilla. Stir to combine. Pour over the warm cake and spread with a spatula.