Rails TakeFive - A Conversation with Gregg Pollack

December 15 2008, 1:11pm

Welcome to Rails TakeFive, FiveRuns’ periodic discussion about Ruby on Rails with noted developers from throughout our community. This week, we’re joined by Gregg Pollack of Rails Envy fame.

FiveRuns: Welcome Gregg. So, how is the Rails Envy Podcast going?

Gregg: The Rails Envy podcast has been going strong for over a year now, covering the most relevant news for Ruby Developers. Unlike you might think from the title, we cover all Ruby stories (not just Rails). It’s important as developers that we each take the time to learn about the newest libraries and developments in our community. We try to make this easy by producing a weekly 15 minute slice of entertaining audio which covers everything you need to know about. Seriously, if you have time during lunch, on the way to work, or at the gym, please give it a listen. It might make you a better programmer.

FiveRuns: Many people have complained that since Rails has been “popular” for a while now, there is a great deal of dated and stale information around the internet. A developer might search for a solution on google, and the first 10 results were written 2 years ago. How do we get fresh Rails content?

Gregg: I’ve definitely felt the pain with this one, but I’ve found an easy way to combat this. If I do a search and the data starts to feel dated, I click on the “More” link at the top of the google page and select “Blogs”. This allows me to search just blogs for a solution, and I can specify that I only want blog entries that have happened in the past week or past month. This way I get the freshest data. The other way to get more fresh content, is by encouraging more people to get out there and blog. Blogging is a great way to gain credibility in the community, for yourself or your company.

FiveRuns: But once someone writes a blog entry, how do they get the word out and actually get readers?

Gregg: This is easier then most people think, and there are several strategies to doing “Self Promotion”.

Tweet every time you post an article so your friends see it. Submit your link to the Ruby Reddit Submit your link to Ruby Flow Email Gregg at RailsEnvy so I can put it on the Rails Envy Podcast. Find blog entries that relate to yours, comment on them and maybe link back to your (but avoid being spammy about it). If I find myself on a stale blog post I’ll always look in the comments to see if someone posted a link to a more updated post. Find other popular bloggers that you think would appreciate your blog entry. Send them an email letting them know about your article. Perhaps link to their blog in your side bar, and kindly ask them to do the same.

Self Promotion shouldn’t be an afterthought, you should require yourself to do it every time you post a blog entry. If you have something interesting to say, don’t be quiet about it!

FiveRuns: How do you create content that will be popular and keep people coming back?

Gregg: There are a few rules of the road, that will definitely keep people interested:

Always have at least one photo if not 4 to go along with your article. Even if it has very little to do with the topic, pictures/photos will keep people reading (look at RubyInside to see what I mean). If you’re releasing a new Library / Gem, please take the time to write up a step by step tutorial on how to use it. Make sure if you write code that it looks pretty (i.e. colors / formatting). At least use a github GIST. Make a screencast. Screencasts are awesome to get people excited about what you’re doing. Remember the Rails 15 minute blog screencast? Case and Point. Check out Screenflow, which is by far the best screencasting application on the net. Make sure you have your name and email listed in an obvious place on your website. There are so many people that don’t. You can tell this on the Rails Envy Podcast when we say “This week on the blah blah blog”. We have no clue who actually wrote the article. If you want to write a long article, split it up into 2-10 parts and encourage people to subscribe to your RSS feed. Respond to all comments that people post on your blog. This will keep people coming back. Make your blog sticky. Best example of this is when you see at the end of a post “Here are a few related posts. . .” This makes people stay on your blog longer and read more stuff. If someone blogs about you, blog about them!

FiveRuns: Let’s talk a bit about the just-released Ruby 1.9.1 preview, which is the first stable, production-ready release available. Do you agree with Peter Cooper that “the Ruby 1.9 branch is the cornerstone of Ruby’s future?” Why?

Gregg: I would like to hope so. I’d really love to see people adopting 1.9.1 as soon as it’s released. If people start really using it, then they’ll quickly fix all the existing gems and plugins out there may not be fully compatible.

FiveRuns: Name a few relatively unknown or unheralded developers who you think deserve to be recognized and tell us why they rock.

Gregg: Unheralded…hmm…Well, I’ve been really impressed by the stuff on Mohammad Ali’s blog regarding scaling with fibers and creating more unblocking ruby drivers. I really dig the work Mark Bates has been doing with the Mack Framwork, using DRb and Rinda in ways no one has really attempted. I’m also a big fan of John Nunemaker and Jim Neath for their libraries and great blog content.

FiveRuns: What benchmarking tools do you use? Siege, httperf, RailsBench, ApacheBench, Selenium, and the Rails performance test generator are a few of the current options. What are the mitigating factors than have influenced your usage of these tools (or lack thereof)? Anything benchmark-related that you’d love left on your doorstep in the middle of the night?

Gregg: Most of the time I stick to httperf, but I wouldn’t consider what I’ve done “advanced benchmarking”. If I did need to do performance benchmarking, I’d head directly to Ilya Grigorik’s tutorial on using Log Replay.

FiveRuns: Okay, we’ve all made mistakes. Name one of your most embarrassing moments of FAIL, or one of your biggest rookie gaffes.

Gregg: Back when I was working at MP3.com (using Perl), I wrote a script which I left running over the weekend. The script was supposed to do SQL something like “update whitelist set mail_subscription_id=23 where mail_subscription_id=32”. Except, instead of a where, I had an “AND”. As it ran the script started plowing through all 150 million subscriptions Friday night. On monday at work I got to hear about how the DBAs had to come in on the weekend to restore the subscription database which someone had totally obliterated. What’s worse, is that they had finished restoring on Saturday night. I logged into the server Sunday morning to check to see if my script fully ran. Upon seeing it hadn’t, I just ran it again, causing some poor DBA another few hours of pain. LOL…

FiveRuns: Have you ever taken a Ruby-related course or seminar, either in-person or virtually? Who are some of the best teachers and courses out there? For nubies? For pros looking to break through to a new level?

Gregg: I was introduced to Ruby and Rails by Dave Thomas at a No Fluff Just Stuff Java Symposium. So I’m a big fan of Dave, and the Pragmatic Studio is a great way to get started with Ruby/Rails. As far as going from Intermediate to Advanced (insert shameless self promotion) I’ve been working on Envycasts.com. So far we cover Advanced ActiveRecord, Scaling Ruby, and Ruby on Rails 2.2. If you’re craving more content, then it’s time to look over at Peepcode.com.

Gregg Pollack lives in Orlando, Florida where he produces educational media for his company, Rails Envy. He is very active in the Orlando Tech community, helping organize BarCampOrlando, the Orlando Ruby Users Group, and CoLab, Orlando’s first official co-working space. You can checkout some of his media work by listening to Rails Envy Podcast, downloading a screencast from EnvyCasts, or viewing some of the recent conference videos he’s produced.