Ruby after the tutorial

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?

P.S. Replies like “Practice,Practice,Practice” would not answer my
question. Please be specific.

On 1/7/06, Daren [email protected] 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?

This is probably a good place to start for ideas:
http://www.rubyquiz.com/

Poke through the archives, when you find one that interests you, give it
a shot.

You could also try to rewrite something small you’ve done in another
language or try to start with a tool that you would like to have (file
parser, website grabber, html cleaner, simple rss reader, etc).
Whatever you try, it has to interest you, or you’ll lose interest in
it (and maybe Ruby).

Happy Rubying :slight_smile:

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 Q.zes
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.