Be sure to give the pudding and the cake enough time to cool or you'll end up with runny pudding and gummy cake. Serves 10 to 12
1. For the pudding: Whisk sugar, cornstarch, salt, half-and-half, and milk in large saucepan. Set pan over medium heat. Add chocolate and whisk constantly until chocolate melts and mixture begins to bubble, 2 to 4 minutes. Stir in vanilla and transfer pudding to large bowl. Place plastic wrap directly on surface of pudding and refrigerate until cold, at least 4 hours or up to 1 day.
2. For the cake layers: Adjust oven rack to middle position and heat oven to 325 degrees F. Butter and flour two 8-inch cake pans. Whisk flour, baking powder, baking soda, and salt in bowl.
3. Melt butter in large saucepan over medium heat. Stir in cocoa and cook until fragrant, about 1 minute. Off heat, whisk in coffee, buttermilk, and sugars until dissolved. Whisk in eggs and vanilla, then slowly whisk in flour mixture.
4. Divide batter evenly between prepared pans and bake until toothpick inserted in center comes out clean, 30 to 35 minutes. Cool layers in pans 15 minutes, then invert onto wire rack. Cool to room temperature, at least 1 hour.
5. To assemble the cake: Cut each cake in half horizontally. Crumble one cake layer into medium crumbs and set aside. Place one cake layer on serving platter or cardboard round. Spread 1 cup pudding over cake layer and top with another layer. Repeat with 1 cup pudding and last cake layer. Spread remaining pudding evenly over top and sides of cake. Sprinkle cake crumbs evenly over top and sides of cake, pressing lightly to adhere crumbs. Serve. Cake can be refrigerated for up to 2 days.