For the cake: Preheat the oven to 350 degrees F. Butter an 8-inch round cake pan. Line the bottom with parchment paper and butter again. Dust with flour/cocoa.
In a mixing bowl, whisk together the flour, sugar and salt. In a saucepan over medium heat, melt the butter. Stir in the cocoa. Add the boiling water and allow the mixture to boil for 30 seconds, then turn off the heat. Add the flour mixture and stir lightly to cool.
In a measuring cup, whisk together the buttermilk, baking soda, vanilla and egg. Stir the buttermilk mixture into the butter/chocolate mixture. Pour into the prepared cake pan and bake until a toothpick inserted in the center comes out clean, about 25 minutes. Let rest for 10 minutes in the pan, then remove the cake from the pan and let cool.
For the pudding: While the cake is baking, make the pudding. In a medium pot over medium heat, add 1/2 cup sugar. Melt the sugar, swirling the pot occasionally. When the sugar gets to a medium amber color, remove from the heat. (Keep your eye on this as it can go to burnt very quickly.)
Whisk together the cornstarch, salt, 1 cup milk and the remaining 1/2 cup sugar. Slowly and carefully stir this mixture into the hot sugar. Return the pot to medium-low heat and stir until the caramel is all melted and smooth. Whisk together the egg yolks and remaining 1/2 cup milk in a small bowl and stir that into the pot. Cook until the mixture begins to thicken. Remove from the heat and stir in the butter and vanilla. Strain into a bowl to remove any lumps. Press a piece of plastic wrap onto the surface of the pudding. Let cool, then refrigerate.
To finish: Cut the cake in half and put the bottom piece onto a serving plate. Spread the pudding evenly over this layer. Sprinkle on a little salt and place the top piece over the pudding.
For the glaze: In a small pot over medium heat, heat the cream but do not let it boil. Add the chocolate and stir until smooth. Stir in the vanilla.
Pour the glaze over the top so that it drips down the sides of the cake. Let set a few minutes. Refrigerate until ready to serve.