Preheat oven to 350 degrees F.
In a bowl cream together butter and sugar until pale and fluffy, beat in the eggs a little at a time, beating well after each addition. Sift the flour, salt and cocoa powder into the creamed mixture and fold in with a metal spoon. Stir in the chopped chocolate until evenly combined. Lightly grease 6 individual pudding ramekins. Divide the prepared mixture evenly into the greased ramekins. Place the ramekins in a roasting pan. Pour boiling water into the roasting pan to come halfway up the side of the ramekins.
For the chocolate terrine:
Melt together chocolate and butter and let it cool down slightly. When warm stir in 4 yolks. Sift sugar and cocoa powder and stir into the chocolate mixture gently. Whip heavy cream and egg whites to soft peak separately. Fold into the chocolate mixture and set it in a lined terrine mold. Refrigerate and use next day.