On Sun, Jan 08, 2006 at 11:25:11AM +0900, Daren wrote:
} I am a PHP developer and have just begun to investigate Ruby.  I have 
} looked through the online Pickaxe book and Why's Poignant guide, but I'm 
} anxious to get started programming with it.  Unfortunately, I'm pretty 
} short on ideas on what to program that would increase my understanding 
} and proficiency with Ruby.  What would you experts out there suggest for 
} a Ruby newcomer who has seen all the tutorials but wants to continue 
} learning?  Is there something specific that you always code after 
} learning a language?  Any ideas or resources would be appreciated?

The best I can do is tell you what I did to learn, just a couple of weeks
ago. I bought the pickaxe book but, honestly, only got through the first
chapter or so. I learned that Ruby is the bastard child of Perl and
Smalltalk, which made me happy. I also got through a chunk of Why's guide,
even before the pickaxe book arrived, which got me excited about some of
the features (mostly iteration, blocks, and binding). I then did nothing
for a couple of months.

Meanwhile, I have been keeping some sets of bookmarks as RDF files. I
"subscribe" to them as Firefox live bookmarks and they are available to me
wherever I go. I was maintaining them by keeping them in simple list files
and running an awk script I had written to produce the RDF files. I told
some people about it, and about three weeks ago one of them tells me that
he wrote a PHP webapp to manage such things, and would I like to take a
look.

Well, I took a look and it was pretty neat, so I decided to implement it
with Ruby on Rails as a toy project. Mine turned out better than his,
though this was largely due to JavaScript coolness rather than any inherent
advantage of Ruby/RoR over PHP for such a small project. This involved the
following:

1) Getting Ruby installed: apt-get install ruby ri

2) Getting RubyGems installed in /usr/local, which is nontrivial anywhere.
   I wound up writing a workaround script to force it to install properly
   in /usr/local, then had to add GEM_HOME to /etc/profile and
   /etc/csh.cshrc (and the rails environment file later on).

3) Getting rails installed: gem install -y rails

4) Figuring out how to use rails from docs/tutorials and playing around

5) Figuring out how to use RSS::Maker to generate RSS feeds

6) Implementing and debugging the RoR app.

7) Figuring out how to integrate with Apache2 (which involved fcgid) once I
   had finished development, and as a path on my only virtual host rather
   than as its own virtual host.

} P.S. Replies like "Practice,Practice,Practice" would not answer my 
} question.  Please be specific.

I hope that was specific enough. It taught me a great deal, and I now feel
pretty confident using Ruby and RoR. I've been doing the Ruby Quizzes the
last two weeks, too. Last week's was tough, and I never did perfect my
solution. This week, however, the problem was easier and I produced two
solid solutions in about three and a half hours. I like Ruby.

--Greg
P.S. Lurking on the list and reading the responses/solutions to other
     people's problems has also been very helpful.