Preheat oven to 400 degrees F and grease a sheet pan.
In a large bowl, mix together the flour, sugar, and cocoa powder.
In a small saucepan, add the water, butter, shortening, and chocolate. Bring to a boil over medium heat. Once the mixture is smooth and fully combined, add it to the dry ingredients and whisk to combine.
Stirring between each addition, first add the buttermilk, baking soda, salt, eggs, and then vanilla.
Transfer batter to the prepared sheet pan and bake for 20-22 minutes. Let cool before frosting.
FROSTING
Add the milk, egg yolks, butter, and sugars to a medium sized saucepan over medium heat. Bring mixture to a boil and then lower heat to a simmer. Stir frequently and continue cooking for 10-12 minutes or until mixture has thickened. Remove from heat.
Stir in coconut, pecan, and vanilla.
Let frosting cool slightly and then spread over the cooled cake.