While I don't have the time to watch a 50 minute video at the moment, a common theme I see in the PDF is that people are reluctant to share source code until it's reasonably "done". A lot of things that seem impressive as completed works have spent most of their development messy and (by definition!) incomplete. When coupled with potentially endless anonymous criticism via the internet* , this can be pretty intimidating.
I get where they're coming from. I have several projects that I really need to polish up and upload, and I want them to feel presentable; I don't really understand how people get used to working in public (on github, for example). I also do a fair amount of maintenance programming, and ... I want to make sure my code is better than that. Just because I change my mind, make mistakes, etc., it doesn't mean I need to publish sloppy code.
* Look at the comments in any discussion on Reddit. About anything. People get nasty, often just because they can.
I see where they are coming from too, and I often feel the same way; sometimes I have found myself starting on side-projects and not even telling close friends what they are about because I am scared or embarrassed to have anyone see my work in an embarrassingly incomplete state.
I think one of the key lessons for me, which is very easy to grasp intellectually but much harder to internalize, is that any nastiness you receive in the short term doesn't really matter (and often comes from people who don't really matter). If you succeed in the long-term, that's what you will be known for, and all of the scorn directed at your early works will seem irrelevant. You should therefore do whatever maximizes your chances at long-term success, which includes taking the risk of exposing yourself to humiliation so that you can get better faster.
It's one of the things I really admire about, say, Jeff Atwood. He's consistently bashed here and elsewhere for being incompetent, and it's not undeserved: even though I consider myself a pretty poor programmer at the moment, I can often tell when he says things that are fallacious or ignorant. And yet, with Stack Overflow he has been involved in a project more successful than most people's projects here. I would never mistake him for the mythical genius programmer, and I may be puzzled at the attention he receives or his persistence about writing topics he doesn't know much about, but when I see how he keeps writing and keeps building useful things even when everyone is publicly explaining to him all the ways he sucks, I wish I had his cojones.
I don't really understand how people get used to working in public
It's easy. Until your code is good, no one gives a damn about it. Even if it's good, you'll still have to shove it down people's throats before they care. So don't worry that "someone might see your bad code". They won't. Nobody cares.
Successful projects are not determined by the quality of the code, but the utility of it. It's quite possible to have a very successful project, that a lot of people use, made up of embarrassingly bad code.
Alternative phrasing: to make something good I find I have to be thinking about it all the time. If I think about it all the time I talk about it every chance I get, ask for help, comments, feedback. It's easier to ask for help if the thing you want them to help you with is a click away.
Re: a bit tangential on nasty criticism. An approach I try to have (it's not for everyone) is to see the code as trying to do something worthwhile, rather than for the greater glory of 10ren. Without my ego on the line, I have more attention for the code itself. :-)
With this attitude* , only criticism about how the code is serving its purpose is relevant. If someone criticizes it (or I imagine they will) because it's Lisp (or because isn't), or because it uses design patterns (or because it doesn't) and the criticism doesn't seem to make a difference to its purpose - it's just kind of bemusing.
* Hard to do.
EDIT ah... having now read the slides, this is one of the things they're saying.
You don't have to work in public using github. That's the nice feature of DVCS — you can have it all your code for yourself and at the same time enjoy all the benefits of VCS.
Using centralized system you don't have much choice - either you don't commit, or you commit and everybody sees your ugly code.
With DVCS you can have your private branches and work on your code as long as you want. When you a happy with your work, just push it to the public repo (hosted on github for example). Even more, you can have a lots of tiny working commits and then "squash" them into one big and nice final commit.
I get where they're coming from. I have several projects that I really need to polish up and upload, and I want them to feel presentable; I don't really understand how people get used to working in public (on github, for example). I also do a fair amount of maintenance programming, and ... I want to make sure my code is better than that. Just because I change my mind, make mistakes, etc., it doesn't mean I need to publish sloppy code.
* Look at the comments in any discussion on Reddit. About anything. People get nasty, often just because they can.