I've been getting some weird demented hate about my affiliate links, but here's the thing you've got to get: if you spend enough time studying programming, you're going to reach a point where none of the available work is as awesome as the projects you create for yourself. This is because the only limit on what a programmer can do is that programmer's imagination, and the uninformed imaginations of people who don't understand code include arbitrary limitations that are irrelevant in the informed imaginations of people who know for a fact exactly what they can and can't do. So any programmer who takes it upon themselves to get good is going to hit this event horizon where nobody can ever give you a project half as good as the projects you'll think of.
I think that's probably already true for DHH, for Chris Wanstrath, for Evan Phoenix, and for basically every other programmer operating at that same level. Two out of those three guys I named as examples have their own profitable web apps, and the third, Evan, has a great company backing his open source project. Pretty much everybody at that level gets paid to work on what they want to work on. They solved the "nobody can give me better work than the work I think of" problem by making their work profitable. But what do you do when profitability is harder to attain? For instance, when you create a music AI that nobody will pay you to work on, but which is more awesome than any available work anybody in the industry could offer you?
If you're me, you go back to the drawing board and you come up with Towelie, my repetition detector for Ruby which (unlike Archaeopteryx) has obvious commercial usefulness - a tool to clean your code - and which (like Archaeopteryx) leverages some stuff from the world of AI, does a few very impressive tricks, and is complete only in proof-of-concept form. Then you sit down to do the math to figure out how long it'll take you to turn Towelie into a profitable automated refactoring browser which runs on the Web and uses statistical AI to data-mine existing Ruby projects on GitHub.
Then you say, "fuck that, this shit is going to take for fucking ever," and you decide that you need to learn a little about business models.
I've spent several months researching the hell out of business models, and my favorites come from three Internet marketers: Chris Rempel, Eben Pagan, and Russell Brunson.
I've already blogged about Chris. He's in affiliate marketing. For information products, you should start with Eben, and then go on to Russell.
Watch these videos.
Now watch this. Russell's got an awesome business model. Probably the best. Check out this video. It's an hour and it's absolutely worth it.