Hacker News new | comments | ask | show | jobs | submit login
Ask HN: Interest in a "hardcore" dev tutorial site?
25 points by jfaucett on Aug 13, 2012 | hide | past | web | favorite | 7 comments
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:

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?

Where do these sites fall short? Or if not and they're great, why?

Basically, what are your media/video learning resources (ie not reading source code) once you've gotten to a higher level?

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.

Anyone have any thoughts here? Thanks!

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.

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.

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.

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 :)

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

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.

Use the source

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact