I use the I have too many alarms to fail approach, I have my primary alarm, my phone, my Ihome which also has battery backup, and my computer has an alarm, it also has a battery backup. I set them to ring 3 minutes apart with a 10 minute snooze. basically making me so annoyed and frustrated that snooze just isn't worth it.
That and I try to always get 8 hours of sleep, I will rarely sleep too much later than that if I am used to only 8 hours. Still now that I have to wake up at 3am to get to work by 4am, I do admit I feel a bit tired as it is hard to say I should go to bed at 7pm, it is still light out, so 8-9pm is more common these days.