Paul Graham:
Don't even try to build startups. That's premature optimization. Just build things that seem interesting. The average undergraduate hacker is more likely to discover good startup ideas that way than by making a conscious effort to work on projects that are supposed to be startups.