When I see a link to a youtube video et al., I usually skip it because I feel it often takes too much time for the payback. I personally much prefer to read some well written text. What's your take on the issue?
neither. the best way is doing. get the information from whatever source, text, video, a friend over your shoulder, and then do it. work it out yourself.
I am a relative novice to hacking, and so here is my two cents:
Over the past year, I've felt the best way to learn was to duplicate. Now, this comes with a certain amount of integrity, because you should never copy applications outright for commercial use. But for educational purposes, this technique is great.
Specifically, I've found text was helpful to code certain features for which there was not a video. When I started coding iPhone applications, I did a mix of video tutorials and Google searches to give me the functionality I desired.
When I learned Matlab, my professor told us to duplicate the pictures in the text (this was for Machine Learning and Bishop's text). Since I could not find good video tutorials for Matlab, I resorted to documentation. However, I knew what the end result had to look like, which was helpful.
For web development I code in ASP.Net and C#. I usually have a project definition to fulfill. I have used video tutorials to a certain extent (to see the wealth of features available with MS Visual Studio/Web Developer).
One option, which you did not mention, is to seek the help of others who are experts. If you can get into a community of developers and actively seek their input, you will learn much faster.
I actually love screencasts. The rubycasts (or whatever they were called) were excellent, and are only a few minutes long. He provided text as well so I could play the screencast on our television while I copied and followed along locally on my laptop.
So the answer, for me, "YES" ;) A screencast backed up with good documentation.
Programming techniques, design patterns, that kind of stuff, is learned best from a hybrid approach, i.e. some of this, some of that.
Hacker techniques however... can only be learned by hacking. Being as they represent the intuitive, "dirty" approach, that's the only way to get them into your system.
imo, of course.