Cream the butter and sugar in a mixing bowl. After light and fluffy add the eggs one at a time. Continue mixing until incorporated.
Add food coloring and cocoa powder to the butter mixture.
Sift flour and salt together (leave out baking soda for later). Starting with the flour mix, alternatively add flour and buttermilk to the cake batter while mixing. Should be well incorporated.
Mix in the vanilla.
In a separate small bowl, combine vinegar and baking soda and add it to the batter.
Prepare cupcake pan with liners. Fill each a little more than halfway.
Bake 24 - 29 minutes or until a toothpick test comes out clean.
Let cool on a rack.
ICING
Whip cream cheese and butter with a mixer until smooth and airy.
Add in sugar and vanilla. Mix until combined and silky. Taste and add up to ¼ cup more sugar if needed.
Pipe icing onto completely cooled cupcakes.
Store leftovers in refrigerator and let cake come to room temperature, 20 minutes, for best texture.