Gregory Seidman
1/8/2006 4:19:00 AM
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.