Ruby on Rails

Why use an index, when I can scan the whole table?

After working in ruby on rails for a number of years, I have found a number of performance related bottlenecks due to a lack of indexes on the database tables. I’ve noticed that most rails developers don’t write much SQL anymore, which is great, but also sometimes a problem. Back in the day, you really got your hands dirty in SQL, which made you really think of tuning the database. As relational databases
Read More

QR Barcode Generation with Ruby

Barcodes are the all-important middlemen of the modern retail experience, yet they remain almost completely invisible to consumers. Of course, the moment the flow breaks down and the code becomes unscannable, both purchaser and cashier quickly decide the whole thing is annoying and obsolete. Nevertheless, barcodes are invaluable for passing around information. Although we usually associate them with products, they c
Read More

Upgrading Rails Applications – Some things to keep in mind!

So we just went through this humongous (believe me!) effort of upgrading the technical platform for one of our existing Rails applications that was running Rails 2.1, Ruby 1.7 and Mongrel cluster. The goal was to upgrade to Rails 2.3, Enterprise Ruby 1.8.6 and Passenger. It all started out as well as you would think. Updating the Rails gem, Ruby version, installing/configuring Passenger and updating relevant gems was
Read More

What is the ideal Senior Developer skillset?

We’re currently in the process of interviewing candidates for 1-2 Senior, and 2-3 junior level Rails Developers, and I’m wondering about the skills that are most critical, and how best to identify the best candidates. My normal interview process flows like this: Quick Phone screen evaluating basic development skills, background, availability, personality Basic coding problem (less than 1hr to complete) Ph
Read More

A Pair of Kings Beats A Single Ace: Pair Programming, Agile Rails, and You

A lot of pair programming chatter this week. Starting with a New York times article describing pair programming at Hashrocket. It’s an interesting article, with a tone that could be described as “anthropologist describing the strange, yet quaint customs of the native tribe” Obie Fernandez followed up with a list of 10 reasons why pairing doesn’t work in most cases. It’s actually a list o
Read More

Ruby on Rails Internship

If you’re an ambitious new Rails developer in Chicago who wants to work along side Dr. Noel and our other sage Rails developers, check out our Rails Internship.
Read More

Rails DateTime.to_time, Time, and a case of 'Why do you need to do that?'

The problem: I needed to display a warning to a user if the data they were looking at was more than 90 days old. The solution: Create a method that takes 2 dates (either DateTime or Time), and returns the number of days, or hours between them. def self.difference_in_dates(date1, date2, unit = return nil if date1.nil? || date2.nil? || unit == 0 (( date1.to_time - date2.to_time ) / unit).round.abs end The proble
Read More

Corners of the Rubyverse: RVM and MacRuby

Please continue reading after the next sentence. I installed Snow Leopard a couple of weeks ago. Wait — don’t stop reading. This isn’t a post about how to install MySQL or a post about whether or not Snow Leopard is the Greatest Thing Ever. There are plenty of other places on the Internet where you can get that information. I wanted to talk about two cool corners of the Ruby universe that I started
Read More

WindyCityRails: My Presentation Checklist

WindyCityRails 2008 Sometimes I write these just for me. As I’ve mentioned a couple of times, tomorrow I’ll be speaking at WindyCityRails, and I need a checklist of all things I don’t want to forget, and all thing things I want to do to make the talk great.
Read More