Exploring Ruby on Rails
When I found out that my friend, Doug Fales, finally had gotten around to learning Ruby and was putting together a blog using Ruby on Rails (RoR), I knew it had been too long since I'd left the world of templating engines for satellite imagery and petabytes. It seemed that every blog I read either was proclaiming Rails as the new juggernaut of Web frameworks or was damning it as the scourge of developers everywhere. Now, I generally assume anything that's simultaneously causing so much adoration, protest and reflection must have something going for it, and rumors that Dave Thomas was putting together a book on RoR only fueled my motivation to find out all that I could as fast as I could. So I installed Rails, raced through a few tutorials, started reading the source and called Doug to get the lowdown straight from the horse's mouth.
Linux Journal: Doug, tell us a bit about yourself, what kind of development do you do?
Doug Fales: My job at Mercury Interactive is writing Java code. I'm exposed to lots of different technologies, because the application that I work on is a Web-based monitoring tool. I'm writing Java code that needs to interface with SNMP stuff, JMX stuff or some custom vendor library, but at the same time, since it's Web-based, I'm also writing UIs for the new functionality that we come up with.
LJ: What's the environment?
DF: The laptop that I primarily develop on is Windows XP Pro, and then I have a couple of boxes under my desk--one is SuSE 9.0 Linux and another is a Windows box. We're writing in Java, using IntelliJ.
LJ: How about at home, what kind of tools do you favor?
DF: Well, I just got a G5 desktop for my birthday, so I'm psyched about that. I really love Linux and the BSDs, so that's what I try to develop in. My editor of choice is vim.
LJ: I know you just [started] a blog using Ruby on Rails. Had you done much Ruby coding before that?
DF: No. I was auditing a network security class in the fall of 2004, and because you always were preaching to me about Ruby, I decided to use Ruby for one of the homework assignments, an e-mail client that used a lot of OpenSSL stuff.
LJ: Console or GUI?
DF: It was GUI-based. I used Ruby-Tk.
LJ: Your first Ruby program was a GUI?
LJ: Ambitious. Any particular reason you initially chose Rails over some other framework for your blog?
DF: By this point in my career I've seen enough scripting languages and learned enough languages that I'm not running out there to learn a new scripting language as soon as it comes out. It's really got to be something special for me to want to learn it. You were the catalyst for getting me into Ruby, and because the Rails hype was starting to reach critical mass at the same time, that's what drew me into Rails.
LJ: Okay, so you obviously had to set up a Rails environment, and I'm sure people are wondering how much work that was. Give us a quick rundown on what you had to do to get it set up.
DF:Well, I started setting it up on my old 450MHz SuSE Linux box, and I had a late night or two getting things up and running, but, you know, on Linux, a lot of the stuff I needed was already there.
LJ: I want to point out here that there's already a lot of really good tutorials available, including Curt Hibbs OnLAMP articles, both Part 1 and Part two. Amy Hoy's follow-up to these articles also is good reading for anyone out there looking to get going with Rails.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- Happy GPL Birthday VLC!
- Handheld Emulation: Achievement Unlocked!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Unikernels, Docker, and Why You Should Care
- Giving Silos Their Due
- Controversy at the Linux Foundation
- New Products
- Don't Burn Your Android Yet
- Non-Linux FOSS: Snk
- Firefox OS