This is something I've been in the habit of doing for like two months now, ever since moving to a big city. Random dudes shouting at people has always been a pet peeve of mine (*watch me about to be a hypocrite*), so I've been experimenting with being the change you wanna see in the world, etc. 

Anyway when I see it happening I tend to loudly "*booo!*" them, like you would a villain in a silent movie. This pretty frequently earns me some cussing in return and the occasional threat of an ass-kicking, but I'm a fairly big fucker and no one has made good yet. 

Basically no one who's observed me doing this thinks I'm not an asshole for doing it. Guys think I'm a white knight who's cruising for a bruising. Girls think I'm just drawing attention to the situation and making it worse. My rationale is that, if I can make the experience uncomfortable for the cat-caller in question, maybe I can discourage the behavior. And maybe help to create an atmosphere of dudes telling other dudes to knock that shit off. Also, OK, I find it funny. But I could very well be an asshole and should maybe stop. Hence the question. 

Thanks!