Many of these are pretty good, but on a startup-focused site, I just have to point out this:
"It then becomes your job to help the entrepreneur find a reasonable solution which is merely hard and gets most of what they wanted."
Many startups are founded by doing something impossible (Google, Apple, Akamai, YouTube, PayPal). Most of the remainder are founded by doing something useless (Twitter, Facebook, del.icio.us, Reddit, etc.) This is for very good reason. If something is neither useless nor impossible, it's quite probable that there's a big company out there that's already working on it, and they can bring more resources to bear than you can.
So if you are the entrepreneur and not merely working for him, it's your job to do the impossible. And yeah, that means turning it into the merely hard and then doing it. But if you aim for "merely hard" to begin with, you'll probably end up producing a mediocre product in the end. After all, products never have quite the same glamor when they're done as when they're conceived in your head.
I think your point regarding impossible/useless ideas is very insightful, but I'd take slight exception to the word 'useless'. I think a better word would be pointless - things like twitter, reddit etc aren't useless by virtue of the fact that millions of people do use them, if however you describe what they do (and, as you point out, this is the reason that big companies wouldn't approach those sorts of ideas) then a reasonable response would perhaps be to describe them as pointless.
"Useless" is said with a touch of irony, because obviously millions of people do use them. However, when they launched, the reaction from all but a handful of early adopters was "Who would ever use that? How can this possibly be a viable business?"
HipHop isn't exactly advancing the state of the art wrt computer systems. It serves FaceBook's needs very well, but source-to-source translation is already pretty well understood. There's Google's Closure Compiler (JS to tighter JS), GWT (Java to JavaScript), PyJamas (Python to JavaScript), Fog Creek's Wasabi (Visual Basic++ to PHP and Visual Basic), all the compilers that target C, and a bunch of toy or one-off production systems that serve their authors' needs but are never released.
The "state of the art in computer systems", IMNSHO, is things like Jekyll (bidirectional source-to-source transformation, where the generated C code is readable & editable and can be transformed back into Jekyll), Subtext (programming by copying & editing), Epigram (dependent types let the computer write most of the program for you, interactively), and a few other research projects that most people have never heard of.
> HipHop isn't exactly advancing the state of the art wrt computer systems.
HipHop advances the state of the art in the same way that a faster JVM does, or a new VM for that matter.
The claim was that Google was advancing the state of the art and Facebook wasn't.
If you exclude the application of known techniques to new problems or in new situations, Google hasn't advanced the state of the art, so the claim is false.
If you allow the application of known techniques to new problems or in new situations, then Google has advanced the state of the art. However, so has Facebook. (Thrift counts too.)
No, Facebook hasn't done as much, but it's younger.
"It then becomes your job to help the entrepreneur find a reasonable solution which is merely hard and gets most of what they wanted."
Many startups are founded by doing something impossible (Google, Apple, Akamai, YouTube, PayPal). Most of the remainder are founded by doing something useless (Twitter, Facebook, del.icio.us, Reddit, etc.) This is for very good reason. If something is neither useless nor impossible, it's quite probable that there's a big company out there that's already working on it, and they can bring more resources to bear than you can.
So if you are the entrepreneur and not merely working for him, it's your job to do the impossible. And yeah, that means turning it into the merely hard and then doing it. But if you aim for "merely hard" to begin with, you'll probably end up producing a mediocre product in the end. After all, products never have quite the same glamor when they're done as when they're conceived in your head.