

Ask HN: Interest in a "hardcore" dev tutorial site? - jfaucett

I've been thinking about this alot lately and working on a prototype in my free time, and maybe I'm just missing things that are already out there. But anyway, I was wondering:<p>what are the sites you use to really learn programming, not c syntax or basic/mid level stuff but things like linux kernel internals, How webkit works, or programming your own js libs?<p>Where do these sites fall short? Or if not and they're great, why?<p>Basically, what are your media/video learning resources (ie not reading source code) once you've gotten to a higher level?<p>For me personally, I find I learn very little from most conference videos (ontwik for example), also I rarely have the time to actually complete most online "courses" like standford or whatever, so what I'd like to have is a site where I could go to for 30 minutes, look over the devs shoulder as he builds his own Node Chat server or whatever, and then go on having learned something.<p>Anyone have any thoughts here? Thanks!
======
joeld42
I think at that level you don't really learn stuff through tutorials anymore.
Tutorials/conferences stuff are mostly to get you started and looking in the
right direction.

You learn the advanced stuff by doing it. Want to learn linux kernel
internals? Write a kernel module. It doesn't have to be useful. Want to learn
webkit internals? Invent a new tag (super-blink!) and implement it. It's
extremely unlikely that W3 will appreciate your contribution to html but
you'll learn a lot in the process.

Another way to learn this stuff (and a pretty standard way to introduce new
people to a codebase in the industry) is to jump into the bug tracker. Just
start fixing low-priority bugs. It might take you three days to find something
that a core dev could fix in fifteen minutes, but you'll learn an immense
amount in the process.

------
BraveNewCurency
Tutorials are best for beginners. They start from zero, so the author can
build one bit of knowledge on top of another. It's easy for the user to feel
progress, because every few minutes a new idea/concept can be introduced and
explained (at a high level).

It's harder to make a tutorial for an expert. Different experts will know
different things, so it's unclear how much time to spend explaining any
particular concept. It's harder for users to feel like they are progressing
because: 1) it takes much longer to get a "unit of knowledge" across because
the concepts are more complex. 2) you are really "filling in the gaps" of
stuff they already (partly) know, and they may not even know how many gaps
they have. So progress is harder to see and measure.

Random brainstorms: \- Different people learn different ways. Some people want
to learn via audio, some via video, some via text, some via diagrams, some
only learn by hands-on doing. \- Talking is pretty low-bandwidth compared to
reading. That usually includes most video, since it's just video of someone
talking, sometimes with a few low-bandwidth slides. \- Staring at talking
heads is boring. Partner with an artist to create animations and diagrams for
your talk. \- You could try an "expando" tutorial: One that can give high-
level details to novices, and expand into nitty-gritty details for experts.
I'm not sure that would work in video, but it could work for text or diagrams.
\- Or maybe you could try something like "VH1 pop up videos", where a novice
could listen to the talk, while an expert could be reading all the sidebars
while listening to the talk. \- Each of the areas you mention (learning
programming, learning kernel internals, etc.) is a world of it's own that
would take a long time to make materials for. You could start by re-purpose
existing content (technical blog posts, "Open Source Architectures", etc) to
turn into a "video explanation". This would be a quick way to get started and
see if you have a useful concept.

~~~
jfaucett
thanks for the extensive post and brainstorming ideas! I agree with you that
most people learn different ways, and as others have stated, really learning
by doing is high up on the list. I like your thoughts of interactivity,
because ideally that's what the tutorials would be like - interactive media,
but the thing is, like you say this is time consuming, and sadly, I don't have
the time to commit that it would take.

One thing I do like about video, at least for programmers, is that - if you're
dual wielding with your monitors :), you can watch the code directly, have
your own editor open and just code along, while you listen to the expert in
his field explain some concepts that might be fuzzy for you.

What I don't like though is reading blog post, because honestly all I ever end
up doing is just reading the source code excerpts, and then (if its js, or
some smaller lib), I just download the source and read it which renders the
point of having a blog post basically null and void.

Finally, your last idea "repurposing content" is great, it'll let me test the
idea out :)

------
subrat_rout
Currently I am learning Ruby on Rails. And Michael Hartl's tutorial is the
best source out there. Next comes Codeschool's rails for zombies.

The key point lies here is how you make the tutorial interesting so that the
user does not loose focus or concentration. In other words to make it fun to
learn. I believe Codeschool is exactly doing it by making small videos and
then asking a set of questions and rewarding points to the user. Codecademy
too but without videos. So I would suggest if you are developing some
tutorials then integrate as much as activity for users you can. I also agree
to some level with joel42. After certain level you do not need tutorials
anymore. It is just for beginners.

In addition, I think those days of University style teachings are over. Or it
will be obsolete soon where the receiver end has to sit down idly for hours to
learn and then start doing once the lecture finishes. From evolutionary point
of view our brain is not wired(designed) to sit down for hours to learn
efficiently as it can not absorb all the information thrown to it in a single
try. It works best when learning by doing approach is practiced. By adding
small piece after piece or tweaking pieces to the building block.

However it is my personal opinion. Take it with a grain of salt.

------
xSwag
I would be very much interested in this. Infact, I wouldn't even mind paying a
fee as long as your tutorials are more interesting then what I would read in a
high level book

~~~
jfaucett
Wow really? I actually have an idea about payments, basically,you can "sign
up" for a membership, but you can enter however much you want, 0 even. The
thing is if you decide to pay/give then the amount gets sent to the guys doing
the videos. I've thought about even letting the users specify if they want to
send 10% to some open source projects (of their choice), etc, I think this
would let the community really promote good tutorial givers and also allow
some smaller devs to explain their work/tools, and get some money for all
their efforts to the open source community.

------
Cieplak
Use the source

