It was a pretty good intro to JSF and he did bring up some of the most previlent FUD's that have been going around. The 1 that I feel he should elaborate more on is that the JSF spec is incomplete, inadequate, whatever you want to call it. There are a lot of people complaining that the spec is missing a lot of features.
This is a very great article on JSF, very easy to understand. Being the first code I will see on JSF, I need one to explain why the call to super in the CalculatorConroller() constructor since I do not see the CalculatorController class subclassing from any class, how does JSF do it?
In my opinion JSF under the hood tend to borrow a lot from Tapestry or works very closely to Tapestry. It talks of components, beans, closeness to SWING which Tapestry already adopted. I think one who is already familiar with Tapestry will tend to clasp JSF fast since it is build on the same logic Tapestry is based on.