A little subjective question here, but here goes. I'm not a great programmer, by any means - I admit this freely. I dabble in .NET but haven't really used it in a while, so I know little more than the basics. I live in an area that is entirely .NET centric and everything else is pretty much unknown.
I've been looking at learning Ruby on Rails, because it's a sweet technology and from the little I've played with it, programming with it is really cool, although a little confusing since I'm not used to its conventions. However, there's no market demand for it whatsoever where I live. Very few people have even heard of it, let alone use it.
Should I just focus on .NET and become an expert in that, since .NET provides me the best opportunities for potential jobs? Or should I say to hell with it and do what I want, regardless of if the market uses it or not? I was thinking of using RoR to build a SaaS offering and hopefully go into business for myself, but I could build that SaaS platform in .NET as well (and I was given access to the MS BizSpark program for that reason) and learn a "valuable" technology that, if my business doesn't get off the ground, will give me solid experience for landing work.
Basically the question is - if you have a choice between learning something that nobody uses but you think is really neat, or learning/becoming an expert in the technology that everyone wants, what would you choose?