One with so sharp a tongue and so large an ego shouldn't be so sensitive...or should start remembering how it feels on the other side.
I'm not sensitive about people's ingratitude in the "oh, that really cut me to the quick" sense; you should know by now that it takes a lot more than that to offend me.
And yes, I know I've done that enough times in the past, and I'm sorry. You claim I've got a big ego, and that's partially why I'm giving up on a lot of what I do - I started seeing things like Parrot as my baby, and it's not. It's everyone's, so it was time for someone else to share a bit of the limelight. And you claim that I've got a sharp tongue, and that's partially why I'm giving up on a lot of the Perl mailing lists I'm on, because I don't want to exercise it.
I guess it all comes down to the way we write code and receive other people's code. I used to think "how can I make this code as useful for other people as I can?", and I used to get this code and think "how is this going to help me?". I've come to the conclusion that both these attitudes are unhelpful.
First off, if someone tries to write code for everyone to use, they're opening themselves up to i) "It says it does X, but I think it should do Y as well.", ii) "It may do X for you but it doesn't do X for me", or worst of all, and most common, iii) "It may do some of X, but I want it to do 100% of X". (Plus ordinary bug reports.) All this with the expectation that the module writer is going to fix this for them.
So I'm taking the attitude that any more code I put out does what I want to it to do, and I don't give two hoots whether or not it's useful for you. If you don't like it, don't use it. It's not mandatory, and it doesn't really affect me at all whether or not Joe Bloe is using this or that module that I wrote.
I'll release code that I found useful; if you want it to do something other than it does, you can build on it, fork it, or do whatever the hell you want with it. That's what the GPL's about, anyway. Not that I write code that does what I want and does what you want as well. In short, "patches aren't welcome".
(In answer to the obvious "why release at all?" question: because there's a chance that it might be useful for someone else, and I don't believe in keeping potentially useful code to myself.)
Similarly, I'm trying to alter my attitude towards the code that I use written by others. I shouldn't expect the module author to want it to do anything other than it does, and I shouldn't complain if it doesn't handle all the edge cases. If it wasn't useful to the original author, they wouldn't have released it.
And if I do find it useful, I'll try and remember to say thanks to them once or twice.
Starting here: Joey Hess,
Lingua::EN::Words2Nums was what I was looking for a few days ago. Very cool, thanks.