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.
- The Tiny Internet Project, Part I
- SUSECON 2016: Where Technology Reigns Supreme
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Bitcoin on Amazon! Sort of...
- Android Browser Security--What You Haven't Been Told
- Free Today: September Issue of Linux Journal (Retail value: $5.99)
- Securing the Programmer
- October 2016 Video Preview
- Machine Learning with Python
Pick up any e-commerce web or mobile app today, and you’ll be holding a mashup of interconnected applications and services from a variety of different providers. For instance, when you connect to Amazon’s e-commerce app, cookies, tags and pixels that are monitored by solutions like Exact Target, BazaarVoice, Bing, Shopzilla, Liveramp and Google Tag Manager track every action you take. You’re presented with special offers and coupons based on your viewing and buying patterns. If you find something you want for your birthday, a third party manages your wish list, which you can share through multiple social- media outlets or email to a friend. When you select something to buy, you find yourself presented with similar items as kind suggestions. And when you finally check out, you’re offered the ability to pay with promo codes, gifts cards, PayPal or a variety of credit cards.Get the Guide