I like/need to learn new programming related topics. But sometimes i feel "slow". Is there any tips or ticks to learn things faster?
Learn by doing. For instance, never read a whole book (or maybe even a chapter of a book) without then going and coding something using what you've read.
The human brain remembers what it did far better than what it saw or heard.
pick a sample code and play around with it , when stuck you will strike a nice tutorial by then and would easily locate it
Because of human nature the easiest way to learn pretty much anything for us is by example.
Pick any practical problem with a sample solution and understand it, then try to implement your own version looking at the sample if you need to.
In addition to the other advices, don't be afraid to ask questions when you are stuck and have spent some time/effort solving the problem on your own.
Obsessively trying to solve a simple problem on your own for a couple hours wastes a lot of productive time that could be spent on learning new topics.
If you are an expert in at least one language already, there's little point in buying (or reading in full) introductory texts. If anything have them for a reference. Instead find a book that teaches what is special (i.e. the idioms) about the language you are trying to learn, especially if it is similar to one you already know. (e.g. If you know C++ and you want to learn Python pick up a book like Dive Into Python).
Beyond that, as others have noted, learn by doing. Ideally not with toy programs.
I recommend trying to understand how you learn, and go that route.
If you're a good theoretical/book learner (like me, it sounds like you're not) you can just read. If you find you need concrete examples, writing an actual usable program might be the only way to really understand the concept. For others, sample code or a contrived program or module might be good enough.
My method of learning a new technology is simple but works very well for me. As a result I have quite a library! I usually buy the top three (sometimes more) books on a given topic. Since I'm some what of a slow study I read chapter one in all the books. After I have read a chapter or two in all I let the books compete for my time often one of them will speak to me more directly then the others. I often end up finishing only one of them but reading two thirds of another and little of the rest. This may be ineffective for your learning dollar but it works well for me. As a mostly self taught developer this method has stood me in good stead for many years.
I often find it helpful to learn enough on my own to be able to ask some intelligent questions. Then I find a friend or colleague and pick his/her brain.
For me, the interaction works better for learning new concepts than sitting with a book or a keyboard, partly because it's tailored specifically to my situation and needs. I come away with a head start on the particular task I'm working on. And as a bonus, I also have the benefit of someone else's acquired tricks, tips, lessons learned, and advice for avoiding the pitfalls I'm likely to encounter.
Then I go back to the keyboard to test what I think I know. :-)
Good luck -- and enjoy!
I learn best when I already have a problem to solve. If you know what you are trying to accomplish, then it adds some context to any text that you read. Depending on your own learning style, you can bookmark or take a note of parts of the text you think were important or relevant. Some people prefer to code and tinker. The popular solution here seems to be to read enough to understand how to solve one part of your problem, implement it, and then read more if you get stuck. An excellent approach, unless you are reading a book for beginners which will tell you how to do something the wrong way before it mentions the best way.