As far as the "a/an uniform" thing goes, go with the way it sounds when you say it out loud. The whole reason "an" exists is to make it less awkward when saying things out loud. Therefore, go by what sound the beginning letter makes. In this case, use "a uniform" because it sounds like "a yuniform" and you don't need to use "an" with the letter y. For the same reason, you would say "an hour" even though h is not a vowel, since it sounds like "an our"
Same thing goes when naming letters themselves. For instance, you would say "an h" because when you say the letter h it sounds like it's beginning with an a.