A couple of questions: When you say "too bad I can't give him a pillow" is "giving him a pillow" a euphemism for smothering him in his sleep? If so, bad idea.
Also, what's missing is where you are flying to Houston FROM?
AUS-IAH? Suck it up and wait.
ATL-IAH? A few nudges over Alabama. A poke over Mississippi. A prod over Louisiana.
SEA-IAH on the red-eye? Get up to use the restroom. Climbing over the offender will wake him up. If you're on the aisle and the snorer is at the window, then climbing over him will REALLY get his attention. Repeat every 20 minutes for best results.
DXB-IAH? May as well join in. Gonna be a long flight either way.