Hi Entdooq
Altho' I don't get angry at all if someone makes a mistake (as I said yesterday, I sincerely believe that the only important thing is just to speak or use a foreign language whenever you have the chance, no matter what your level is), I agree with you about learning another language (not only, I'd say) from different sources. Travelling/spending some time abroad is for sure one of the best ways we have for improving quickly. Reading and writing on the internet is another great one: as you said it happened to you, also for me it really made a difference, and made my English much more 'alive', 'real'. Books and lessons, sincerely, have been very helpful to me, especially for the grammar, but I consider them as a complement. If I had not used what I was learning there, I wouldn't be able to really use my English as I'm doing now. At the same time, it was good having way to ask some native about things I was 'learning' from the internet or by talking to other natives.
However, believe me or not (tip number three!) the best way to improve in a foreing language is: getting a boy/girlfriend from a Country where they speak that language ;D