1. I hope it can help somebody else
2. It also serves me as a memo, which I can go back to later
3. I may be misunderstanding something and somebody will point it out. Or there may be a better/easier way to achieve something and somebody will point it out.
1. It would help me to learn better as I would take sometime to understand things better before sharing it
2. It will be like recording it some where so that I can go back and refer it when I want.
3. And also helps me to correct my understanding when readers leave comments to the articles.
One thing I would like to say is- if I don't share information, there would be hundreds of others who would. :-)
To me, not sharing is selfish. My mom didn't bring me up to be selfish.
Sharing information, research, et cetera is like a way to form bonds with other people. You share stuff with them, they share with you... eventually everyone is getting along like [well behaved] kids in a schoolyard. That's the only way people truly learn is through other people... and in exchange for the stuff you share, folks share their stuff with you.
The bottom line is, everyone wins.
P.S. Love the blog post!
When you do things right, people won't be sure you've done anything at all.
The best way to make sure you understand something it to try and teach it to someone else. it forces you to really THINK about the issue. If you can't explain it to someone else, you don't really understand it yourself.
second, I get a little 'high' out of telling someone else something they don't know. When I taught middle school math, seeing the light-bulb go on over a kids head was AWESOME. Granted, you don't see that most of the time in a blog post, but every once in a while you get a "Boy, that was a GREAT explanation. Now I get it" feedback, which makes it worthwhile.
third, think of it as professional defense. It is possible that a year or eight from now, I'll have to work with someone who read my post. If they learn something, now, the won't make that mistake in the future, and I won't have to fix the bugs in their code.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors