The whole article feels loose and disconnected - probably as a result of the way you sourced the ideas. If you got them emailed in by different people, it's no surprise that it feels like a collection of unrelated points rather than like a cohesive article.
That's another problem with these points, too. They're not the result of some reflection to come up with some key reasons why people suck at programming, they're just the first things that popped into the heads of the people who emailed you. Because of this, the article goes only skin-deep in what would otherwise be an interesting topic. Instead of insight, it provides only a superficial list of obvious, unresearched ideas. This kind of content may fly on a general interest site, but on a site like HN, which is filled with programmers who have spent time thinking about why programming is hard, it is just bad.
Let's take one of the "points" apart:
Before I help anyone with their code, I ask to see their algorithm. If they can’t provide it, I tell them to develop one and nearly all the time they’ll figure out why their program didn’t work.
Huh, what? That doesn't even make sense. Most programs don't involve much or any algorithmic design. Are you sure you know what an algorithm is? Or what a program is? What kind of program are you talking about? How do people "show you" their algorithms? What does it even mean to "show
the algorithms" for a Ruby-on-Rails app?
An algorithms is the framework, and basis, of a program. Many beginners don’t develop one, and write as it goes. When that happens, they lose track of their direction in solving the problem and it becomes difficult debugging. – Benjamin
Who's Benjamin? Why is his opinion relevant to this topic? Also, what a silly opinion. Most programmers I know, experts many of them, and myself included, do not spend time "developing their algorithm" before writing code. I assume by algorithm you mean pseudo-code of some sort. If you have to write pseudo-code before you can write real code, then you really do suck at programming. As a programmer, this point makes me feel that you don't know what you're talking about.
So next time, save yourself some time and jot your plan of attack on a piece of paper. Start programming until you know how to solve your problem. I do it, and it works amazingly.
Again... most programming problems are trivially easy once you know how to solve them, but in many cases you don't know how to solve them before you do it. And the language you "write your algorithm" in should be the language you're writing your program is. In this paragraph we also see an example of loose writing: "Start programming until you know how to solve your problem"... did you mean "Don't start programming...?" That would make more sense in the context of the article. This kind of mistake makes it hard to take the article seriously, because you're already on a flimsy basis to begin with.
You don’t want your program looking like this poor guy, Asimo falling down stairs, do you? So plan accordingly!
What a poor example! Most programmers with some intelligence would love to be able to write the insanely complex code responsible for allowing Asimo to fall down the stairs. AI code is some of the hardest on Earth, disrespecting that suggest you don't understand this basic point.