hijo de puta kind of translates as "son of a bitch" in english but literally it means son of a whore. puta is short for spanish "prostituta" which means prostitute.
in spanish it just means "that guy". when you adress someone whose name you dont know who is latino, calling them 'ese' is like calling him 'buddy' if hes white.
do you know where the beach is?
- i dont know, ask ese (that guy). hey ese, wheres the beach?
a gringo is just a north american or anglo-saxon. it is usually a white person but doesnt have to be. it isnt a hateful term but it can be used hatefully. it also represents behaviour and attitudes latinos consider to be "american".