I read all of those and would like to add two more:
1) Learn to Program, by Chris Pine. It's the best book I've read on learning to program in any language.
2) Practical Ruby Projects: Ideas for the Eclectic Programmer, by Topher Cyll. In a sense it wasn't "practical" at all. But it was a joyous eye-opener to all kinds of applications that turned me into a whirlwind of enthusiasm for months!
My favorite thing about it was how it made even trivially simple exercises fun by making the content humorous. At the beginning you really need that extra reward!
1) Learn to Program, by Chris Pine. It's the best book I've read on learning to program in any language.
2) Practical Ruby Projects: Ideas for the Eclectic Programmer, by Topher Cyll. In a sense it wasn't "practical" at all. But it was a joyous eye-opener to all kinds of applications that turned me into a whirlwind of enthusiasm for months!