1. Heat the oven to 350°. In a medium heavy stainless-steel saucepan, bring the milk, cream, molasses, and brown sugar almost to a simmer over moderately high heat, stirring occasionally.
2. In a medium bowl, whisk together the cornmeal, ginger, cinnamon, and salt. Add to the milk mixture, whisking. Bring just to a simmer, whisking. Pour into an 8-by-8-inch baking dish. The batter will be thin and shallow.
3. Bake the pudding in the middle of the oven for 20 minutes. Remove from the oven and stir well. Return the pudding to the oven and continue cooking for 20 minutes. The pudding will still be quite wobbly but will set as it cools. Let cool on a rack for 20 minutes and serve warm. Or cool completely and reheat the pudding in a 350° oven for about 5 minutes just before serving. Serve the pudding topped with the ice cream.
Variations: Stir the pudding after it has baked for twenty minutes and then top it with one-third cup of chopped pecans or walnuts. Continue baking as directed for twenty minutes longer.