We're in the early stages of planning a hackathon with Heavybit (http://www.heavybit.com/) but haven't had much experience running an event like this.
What do you think makes a successful and enjoyable hackathon? Is it the prizes? Is it the theme? Would you prefer it on a weekend or a weekday? Anything else, big or little, that makes for a good hackathon?