Preheat the oven to moderately slow (325 degrees F.) Sift together the flour, baking soda, baking powder, and spices onto a piece of wax paper and set aside. Cream together the butter, shortening and sugar until fluffy-light. Add the molasses and cream well; beat in the eggs yolks, 1 at a time. Combine the Madeira and the milk. Add the sifted dry ingredients to the creamed mixture alternately with the combined liquids, beginning and ending with the dry ingredients. Beat the egg whites to soft peaks and fold gently into the batter but thoroughly.
Pour the batter into a well-greased and floured 10-inch tube pan and bake about 1 hour and 15 minutes or until the cake beings to pull from the sides of the pan and feels springy to the touch. Cool the cake right-side up in its pan on a wire rack 10 minutes; loosen with a spatula then the cake out of the rack, remove the pan, and cool to room temperature before cutting. Serve plain, or frost if you like with your favorite butter cream to which you have added about 1 tablespoon of Madeira wine and 2 to 3 tablespoons of chopped preserved ginger.
Recipe courtesy of Jean Anderson, The Food of Portugal, Hearst Books, 1986