In a large saucepan, combine the sugar, cocoa powder, salt and warm water. Whisk to blend and bring to a gentle simmer over medium heat. Remove from the heat and stir in the chocolate, 1 cup heavy cream and 1 cup of the milk. Stir to blend and bring the mixture back to a gentle simmer on low heat.
Meanwhile, in a small bowl, combine the cornstarch and the remaining 1/4 cup of milk until the mixture is smooth. Stir the cornstarch into the simmering chocolate mixture and continue cooking it over low heat, stirring constantly with a wooden spoon, until the mixture thickens, 3 to 5 minutes. From time to time, use a whisk to blend the pudding and assure that it is not sticking to the bottom or sides and scorching as it cooks. Remove from the heat. Taste and add the vanilla and rum. Pour the pudding into a large bowl (or, if preferred, individual coffee cups) and cover tightly with plastic wrap so a skin doesn't form on top of the pudding. The plastic wrap should directly touch the top of the pudding in the bowl or cups. Refrigerate for a few hours or overnight.
In a medium bowl whisk the cream until thick. Alternatively, use the electric mixer fitted with the whisk attachment. Whisk in the sugar and vanilla until blended. Taste for sweetness and refrigerate until ready to use.
When ready to serve, heat the oil in a medium skillet over low heat. When the oil begins to smoke lightly, add the almonds. Cook them, stirring, from time to time, until they turn golden brown, about 2 minutes. Use a slotted spoon to transfer them from the skillet to a paper towel or a kitchen towel to drain off excess oil. Season with salt, to taste.
Remove the pudding from the refrigerator, discard the plastic wrap and sprinkle with the almonds. Top with dollops of the whipped cream or serve the cream on the side. Serve immediately.
Recipe courtesy of Alex Guarnaschelli